diff --git a/package-lock.json b/package-lock.json index 97114b3..d44a0bf 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "kredits-web", - "version": "2.0.0-beta.3", + "version": "2.0.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "kredits-web", - "version": "2.0.0-beta.3", + "version": "2.0.0", "license": "MIT", "devDependencies": { "@babel/eslint-parser": "^7.19.1", diff --git a/package.json b/package.json index 1c76f32..72d0824 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "kredits-web", - "version": "2.0.0-beta.3", + "version": "2.0.0", "private": true, "description": "Contribution dashboard of the Kosmos project", "repository": "https://github.com/67P/kredits-web", diff --git a/release/assets/kredits-web-48856cc52cf1be4353cdc934f7480280.map b/release/assets/kredits-web-48856cc52cf1be4353cdc934f7480280.map deleted file mode 100644 index 7b45e8f..0000000 --- a/release/assets/kredits-web-48856cc52cf1be4353cdc934f7480280.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["vendor/ember-cli/app-prefix.js","kredits-web/app.js","kredits-web/components/add-expense-item/component.js","kredits-web/components/add-reimbursement/component.js","kredits-web/components/budget-balances/component.js","kredits-web/components/confirmed-in/component.js","kredits-web/components/expense-list/component.js","kredits-web/components/reimbursement-list/component.js","kredits-web/controllers/budget.js","kredits-web/component-managers/glimmer.js","kredits-web/components/add-contribution/component.js","kredits-web/components/add-contribution/template.js","kredits-web/components/add-contributor/component.js","kredits-web/components/add-contributor/template.js","kredits-web/components/add-expense-item/template.js","kredits-web/components/add-reimbursement/template.js","kredits-web/components/budget-balances/template.js","kredits-web/components/chart-contributions-by-type/component.js","kredits-web/components/chart-contributions-by-type/template.js","kredits-web/components/confirmed-in/template.js","kredits-web/components/contribution-list/component.js","kredits-web/components/contribution-list/template.js","kredits-web/components/contributor-list/component.js","kredits-web/components/contributor-list/template.js","kredits-web/components/ember-chart.js","kredits-web/components/ember-flatpickr.js","kredits-web/components/expense-list/template.js","kredits-web/components/external-account-link/component.js","kredits-web/components/external-account-link/template.js","kredits-web/components/loading-spinner/component.js","kredits-web/components/loading-spinner/template.js","kredits-web/components/reimbursement-list/template.js","kredits-web/components/topbar-account-panel/component.js","kredits-web/components/topbar-account-panel/template.js","kredits-web/components/user-avatar/component.js","kredits-web/components/user-avatar/template.js","kredits-web/controllers/application.js","kredits-web/controllers/contributions/new.js","kredits-web/controllers/contributions/resubmit.js","kredits-web/controllers/contributors/edit.js","kredits-web/controllers/contributors/new.js","kredits-web/controllers/dashboard.js","kredits-web/controllers/dashboard/contributions/show.js","kredits-web/controllers/dashboard/contributors/show.js","kredits-web/controllers/signup/eth-account.js","kredits-web/controllers/signup/index.js","kredits-web/helpers/and.js","kredits-web/helpers/app-version.js","kredits-web/helpers/await.js","kredits-web/helpers/cancel-all.js","kredits-web/helpers/capitalize-string.js","kredits-web/helpers/eq.js","kredits-web/helpers/fmt-crypto-currency.js","kredits-web/helpers/fmt-date-localized.js","kredits-web/helpers/fmt-fiat-currency.js","kredits-web/helpers/gt.js","kredits-web/helpers/gte.js","kredits-web/helpers/is-after.js","kredits-web/helpers/is-array.js","kredits-web/helpers/is-before.js","kredits-web/helpers/is-between.js","kredits-web/router.js","kredits-web/routes/application.js","kredits-web/routes/budget.js","kredits-web/routes/budget/expenses.js","kredits-web/routes/contributions/new.js","kredits-web/routes/dashboard.js","kredits-web/routes/reimbursements/new.js","kredits-web/helpers/is-confirmed-contribution.js","kredits-web/helpers/is-current-user.js","kredits-web/helpers/is-empty.js","kredits-web/helpers/is-equal.js","kredits-web/helpers/is-fulfilled.js","kredits-web/helpers/is-pending.js","kredits-web/helpers/is-rejected.js","kredits-web/helpers/is-same-or-after.js","kredits-web/helpers/is-same-or-before.js","kredits-web/helpers/is-same.js","kredits-web/helpers/item-status.js","kredits-web/helpers/lt.js","kredits-web/helpers/lte.js","kredits-web/helpers/moment-add.js","kredits-web/helpers/moment-calendar.js","kredits-web/helpers/moment-diff.js","kredits-web/helpers/moment-duration.js","kredits-web/helpers/moment-format.js","kredits-web/helpers/moment-from-now.js","kredits-web/helpers/moment-from.js","kredits-web/helpers/moment-subtract.js","kredits-web/helpers/moment-to-date.js","kredits-web/helpers/moment-to-now.js","kredits-web/helpers/moment-to.js","kredits-web/helpers/moment-unix.js","kredits-web/helpers/moment.js","kredits-web/helpers/not-eq.js","kredits-web/helpers/not.js","kredits-web/helpers/now.js","kredits-web/helpers/or.js","kredits-web/services/browser-cache.js","kredits-web/services/community-funds.js","kredits-web/services/exchange-rates.js","kredits-web/helpers/perform.js","kredits-web/helpers/promise-all.js","kredits-web/helpers/promise-hash.js","kredits-web/helpers/promise-rejected-reason.js","kredits-web/helpers/sats-to-btc.js","kredits-web/helpers/task.js","kredits-web/helpers/unix.js","kredits-web/helpers/utc.js","kredits-web/helpers/xor.js","kredits-web/initializers/app-version.js","kredits-web/initializers/container-debug-adapter.js","kredits-web/initializers/ember-concurrency.js","kredits-web/initializers/export-application-global.js","kredits-web/models/contribution.js","kredits-web/models/contributor.js","kredits-web/models/reimbursement.js","kredits-web/routes/contributions/resubmit.js","kredits-web/routes/contributors/edit.js","kredits-web/routes/dashboard/contributions/show.js","kredits-web/routes/dashboard/contributors/show.js","kredits-web/routes/index.js","kredits-web/routes/signup.js","kredits-web/routes/signup/complete.js","kredits-web/routes/signup/eth-account.js","kredits-web/routes/signup/github.js","kredits-web/services/kredits.js","kredits-web/services/moment.js","kredits-web/templates/application-loading.js","kredits-web/templates/application.js","kredits-web/templates/budget.js","kredits-web/templates/budget/expenses.js","kredits-web/templates/components/icon-account-gitea-kosmos-org.js","kredits-web/templates/components/icon-account-github-com.js","kredits-web/templates/components/icon-account-wiki-kosmos-org.js","kredits-web/templates/components/icon-account-zoom-us.js","kredits-web/templates/components/icon-tag.js","kredits-web/templates/components/icon-warning.js","kredits-web/templates/components/icon-web-globe.js","kredits-web/templates/contributions/new.js","kredits-web/templates/contributions/resubmit.js","kredits-web/templates/contributors/edit.js","kredits-web/templates/contributors/new.js","kredits-web/templates/dashboard.js","kredits-web/templates/dashboard/contributions/show.js","kredits-web/templates/dashboard/contributors/show.js","kredits-web/templates/reimbursements/new.js","kredits-web/templates/signup.js","kredits-web/templates/signup/complete.js","kredits-web/templates/signup/eth-account.js","kredits-web/templates/signup/index.js","kredits-web/utils/format-kredits.js","kredits-web/utils/get-locale.js","kredits-web/utils/group-by.js","kredits-web/utils/is-valid-amount.js","kredits-web/utils/process-contribution-data.js","kredits-web/utils/process-contributor-data.js","kredits-web/utils/process-reimbursement-data.js","kredits-web/utils/read-file-content.js","vendor/ember-cli/app-config.js","vendor/ember-cli/app-boot.js"],"names":["_typeof","obj","Symbol","iterator","constructor","prototype","define","_exports","_emberResolver","_emberLoadInitializers","_environment","_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","key","_classCallCheck","instance","Constructor","TypeError","_setPrototypeOf","o","p","setPrototypeOf","__proto__","_createSuper","Derived","hasNativeReflectConstruct","Reflect","construct","sham","Proxy","Boolean","valueOf","call","e","_isNativeReflectConstruct","result","Super","_getPrototypeOf","NewTarget","this","arguments","apply","_possibleConstructorReturn","self","_assertThisInitialized","ReferenceError","getPrototypeOf","_defineProperty","value","default","App","_Ember$Application","subClass","superClass","create","_inherits","Ember","Application","protoProps","staticProps","_super","_this","_len","args","Array","_key","concat","modulePrefix","podModulePrefix","_emberComponentManager","get","_moment","_slicedToArray","arr","isArray","_arrayWithHoles","_i","_s","_e","_arr","_n","_d","next","done","push","err","_iterableToArrayLimit","minLen","_arrayLikeToArray","n","toString","slice","name","from","test","_unsupportedIterableToArray","_nonIterableRest","len","arr2","_default","Component","extend","kredits","inject","service","attributes","contributors","computed","contributorsSorted","map","c","id","isValidContributor","notEmpty","isValidKind","isValidAmount","parseInt","amount","isValidDescription","isValidUrl","isValid","and","init","set","startOf","toDate","contributorId","kind","date","defaultDate","description","url","details","assign","defaultAttr","reset","setProperties","actions","submit","evt","preventDefault","getProperties","keys","_dateInput$toISOStrin2","toISOString","split","_ref","time","save","then","console","warn","window","alert","finally","HTMLBars","template","block","meta","moduleName","_web3Utils","router","isValidAccount","isAddress","account","isValidName","isValidURL","isValidGithubUID","isValidGithubUsername","isValidGiteaUsername","isValidWikiUsername","isValidZoomDisplayName","inProgress","setDefaultAttributes","isPresent","github_username","github_uid","gitea_username","wiki_username","zoom_display_name","currentUserIsCore","contributor","catch","transitionTo","_component","_isValidAmount","_dec","_dec2","_dec3","_dec4","_dec5","_dec6","_dec7","_dec8","_dec9","_class","_descriptor","_descriptor2","_descriptor3","_descriptor4","_descriptor5","_descriptor6","_descriptor7","_initializerDefineProperty","property","context","initializer","_applyDecoratedDescriptor","decorators","desc","forEach","reverse","reduce","decorator","undefined","AddExpenseItemComponent","_tracked","_action","_Component","code","isValidTotal","formEl","document","querySelector","inputFields","querySelectorAll","classList","remove","validity","add","checkValidity","valid","event","currency","dateInput","utcOffset","validateForm","expense","parseFloat","title","tags","t","trim","filter","addExpenseItem","getOwnPropertyDescriptor","_readFileContent","_dec10","_dec11","_dec12","_dec13","_dec14","_dec15","_descriptor8","_descriptor9","_createForOfIteratorHelper","allowArrayLike","it","F","s","f","normalCompletion","didErr","step","_e2","return","asyncGeneratorStep","gen","resolve","reject","_next","_throw","arg","info","error","Promise","AddReimbursementComponent","alias","fn","_addExpensesFromFile","exchangeRates","fetchRates","total","expenses","filterBy","mapBy","summation","current","submitButtonEnabled","getElementById","scrollIntoView","btcAmount","btceur","totalEUR","btcusd","totalUSD","toFixed","regeneratorRuntime","mark","_callee","content","_iterator","_step","item","wrap","_context","prev","files","sent","JSON","parse","debug","stop","_x","recipientId","expenseFormVisible","run","scheduleOnce","scrollToExpenseItemForm","expenseItem","pushObject","updateTotalAmountFromFiat","removeObject","_this2","currentUser","findBy","token","tokens","stringify","addReimbursement","A","BudgetBalancesComponent","communityFunds","balancesLoaded","categoryColors","contributions","chartOptions","freeze","legend","display","chartData","kinds","datasets","data","borderColor","borderWidth","labels","ConfirmedInComponent","confirmedAtBlock","currentBlock","confirmedInBlocks","duration","confirmedInSeconds","humanize","tagName","classNames","selectedContribution","showQuickFilter","hideSmallContributions","contributionKind","contributorsSorting","sort","contributorsActive","activeIds","Set","has","contributionKinds","uniq","contributionsFiltered","included","veto","contributionId","contractInteractionEnabled","vetoContribution","openContributionDetails","contribution","selectedContributorId","openContributorDetails","_emberChart","_emberFlatpickr","ExpenseListComponent","deletable","iconComponentName","site","match","replace","ReimbursementListComponent","ipfs","gatewayUrl","vetoReimbursement","transaction","hash","setupInProgress","userHasEthereumWallet","ethereum","showConnectButton","hasAccounts","signup","connectAccount","enable","setup","t0","log","SIZES","small","medium","large","classNameBindings","attributeBindings","size","src","avatarURL","Controller","BudgetController","_Ember$Controller","queryParams","minedContributors","sortedContributors","contributorIpfsHash","ipfsHash","addContribution","transitionToRoute","_new","updateContributor","model","addContributor","showDetailsPane","selectedContributionId","contributionsConfirmed","contributionsUnconfirmed","contributionsSorting","contributionsUnconfirmedSorted","contributionsConfirmedSorted","kreditsByContributor","kreditsToplistSorting","showUnconfirmedKredits","kreditsToplist","hideUnconfirmedKredits","not","showQuickFilterUnconfirmed","showQuickFilterConfirmed","showFullContributionSync","gt","showIntroText","toggleQuickFilterUnconfirmed","toggleProperty","toggleQuickFilterConfirmed","ipfsGatewayUrl","roleName","isCore","totalKreditsEarned","ethAddress","githubAccessToken","isValidEthAccount","signupButtonDisabled","completeSignup","payload","accessToken","fetch","githubSignupUrl","method","headers","Content-Type","body","res","json","connectGithub","location","githubConnectUrl","_and","_regexp","appVersion","_","version","APP","versionOnly","hideSha","shaOnly","hideVersion","showExtended","versionExtendedRegExp","versionRegExp","shaRegExp","Helper","helper","_await","_cancelAll","compute","string","charAt","toUpperCase","_equal","equal","params","fmtAmount","_getLocale","dateStr","Date","locale","Intl","DateTimeFormat","format","lang","navigator","language","userLanguage","NumberFormat","style","currencyDisplay","_gt","_gte","gte","_isAfter","_isArray","_isBefore","_isBetween","vetoed","confirmedAt","_isEmpty","_isEqual","isEqual","_isFulfilled","_isPending","_isRejected","_isSameOrAfter","_isSameOrBefore","_isSame","setupRecompute","status","hasPendingChanges","join","destroy","teardown","addObserver","triggerRecompute","removeObserver","once","recompute","_lt","lt","_lte","lte","_momentAdd","_momentCalendar","_momentDiff","_momentDuration","_momentFormat","_momentFromNow","_momentFrom","_momentSubtract","_momentToDate","_momentToNow","_momentTo","_unix","_notEqual","notEqualHelper","_not","_now","_or","or","_perform","_promiseAll","_promiseHash","_promiseRejectedReason","_task","_utc","utc","_xor","xor","_initializerFactory","initialize","_containerDebugAdapter","app","register","_emberConcurrency","application","exportApplicationGlobal","theGlobal","global","globalName","String","classify","reopen","willDestroy","pendingTx","isEmpty","iso8601Date","jsDate","serialize","balance","contributionsCount","recipient","pendingStatus","Router","_Ember$Router","locationType","rootURL","route","path","ApplicationRoute","_Ember$Route","Route","preflightChecks","_this3","loadInitialData","addContractEventHandlers","contributorsNeedSync","schedule","syncContributors","perform","fetchBalances","BudgetRoute","_model","reimbursements","reimbursementsPending","abrupt","browserCache","loadObjectsFromCache","fetchObjects","page","reimbursementsNeedSync","syncReimbursements","fetchMissingReimbursements","BudgetExpensesRoute","ContributionsNewRoute","setupController","controller","DashboardRoute","contributionsNeedSync","syncContributions","controllerFor","deactivate","redirect","ReimbursementsNewRoute","localforage","createStore","networkName","web3RequiredNetworkName","toLocaleLowerCase","createInstance","BrowserCacheService","_Ember$Service","Service","stores","_emberConcurrencyDecorators","ownKeys","object","enumerableOnly","getOwnPropertySymbols","symbols","sym","_objectSpread","source","getOwnPropertyDescriptors","defineProperties","CommunityFundsService","_processBalances","btcBalanceAPI","processBalances","balanceUSD","_context2","confirmed_balance","Math","round","toLocaleString","balances","symbol","task","_asyncToGenerator","bitstampBaseUrl","corsProxy","fetchFromBitstamp","_fetchFromBitstamp","currencyPair","r","vwap","ExchangeRatesService","_fetchRates","_callee2","_args2","_ethers","_contracts","_groupBy","_processContributorData","_processContributionData","_processReimbursementData","_formatKredits","_contributor","_contribution","_reimbursement","_toConsumableArray","_arrayWithoutHoles","iter","_iterableToArray","_nonIterableSpread","models","Contributor","Contribution","Reimbursement","currentUserAccounts","currentUserIsContributor","contributorsMined","missingHistoricContributionsCount","getEthProvider","ethProvider","instantiateWithoutAccount","web3ProviderUrl","providers","JsonRpcProvider","ethSigner","instantiateWithAccount","_x2","_instantiateWithAccount","web3Provider","network","Web3Provider","getNetwork","web3RequiredChainId","chainId","listAccounts","accounts","getSigner","isConnected","web3","currentProvider","providerAndSigner","ipfsConfig","provider","getBlockNumber","t1","on","blockNumber","getCurrentUser","contributorData","functions","getContributorIdByAddress","firstObject","getById","totalSupply","Token","_this4","contributionsGrouped","contributorsWithUnconfirmed","contributorsWithOnlyConfirmed","includes","amountUnconfirmed","items","a","b","amountConfirmed","amountTotal","_this5","_this6","reimbursementsUnconfirmed","_this7","reimbursementsConfirmed","_this8","_this9","_callee3","_context3","fetchContributors","fetchContributions","updateMissingHistoricContributionsCount","_this10","_callee4","_context4","count","uidInt","gasLimit","updateProfile","_this11","all","loadContributorFromData","cacheLoadedContributors","loadedContributor","_this12","_callee5","_context5","setItem","finish","loadContributorsFromCache","_this13","_callee6","_context6","iterate","_callee7","_context7","_this14","_this15","options","loadContributionFromData","cacheWrites","loadedContribution","cacheLoadedContributions","_this16","_callee8","_iterator2","_step2","_context8","loadContributionsFromCache","_this17","_callee9","_context9","contributionTasks","taskGroup","enqueue","_callee10","_context10","fetchNewContributions","syncUnconfirmedContributions","group","_callee11","lastKnownContributionId","toFetch","_context11","max","fetchMissingContributions","_callee12","allIds","loadedContributions","countFetched","_context12","shift","_callee13","_iterator3","_step3","_context13","objectClass","_this18","objectClassLowerCase","toLowerCase","objects","removeObjectFromCollectionIfLoaded","collection","objectId","loadedObj","cacheLoadedObjects","_this19","_callee14","_iterator4","_step4","_context14","_this20","_callee15","_context15","syncTaskGroup","fetchNewObjects","_callee16","lastKnownObjectId","_context16","fetchMissingObjects","_callee17","loadedObjects","_context17","syncUnconfirmedObjects","_callee18","_iterator5","_step5","_context18","vetoAgainstObject","loadReimbursementFromData","_this21","reimbursement","wait","d","_callee19","_context19","_callee20","_context20","handleContributorChange","bind","handleContributionAdded","handleContributionVetoed","handleReimbursementAdded","handleReimbursementVetoed","handleTransfer","_arguments","_this22","_callee21","newContributor","oldContributor","_context21","_this23","_callee22","pendingContribution","_context22","find","_this24","_callee23","_context23","addedByAccount","_this25","_callee24","pendingReimbursement","_context24","_this26","_callee25","_context25","to","toNumber","decrementProperty","incrementProperty","defaultFormat","etherValue","utils","formatEther","decimals","languages","groups","inputAmount","Number","isNaN","processed","otherProperties","prop","includeDetails","_data$contributionsCo","balanceInt","file","reader","FileReader","onload","onerror","readAsText","metaName","prefix","rawConfig","getAttribute","exports","decodeURIComponent","Error","runningTests","require"],"mappings":"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","file":"kredits-web.js","sourcesContent":["'use strict';\n\n\n","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\ndefine(\"kredits-web/app\", [\"exports\", \"ember-resolver\", \"ember-load-initializers\", \"kredits-web/config/environment\"], function (_exports, _emberResolver, _emberLoadInitializers, _environment) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\n function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\n function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n function _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\n function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\n function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\n function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\n function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\n function _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\n function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n var App = /*#__PURE__*/function (_Ember$Application) {\n _inherits(App, _Ember$Application);\n\n var _super = _createSuper(App);\n\n function App() {\n var _this;\n\n _classCallCheck(this, App);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _defineProperty(_assertThisInitialized(_this), \"modulePrefix\", _environment.default.modulePrefix);\n\n _defineProperty(_assertThisInitialized(_this), \"podModulePrefix\", _environment.default.podModulePrefix);\n\n _defineProperty(_assertThisInitialized(_this), \"Resolver\", _emberResolver.default);\n\n return _this;\n }\n\n return _createClass(App);\n }(Ember.Application);\n\n _exports.default = App;\n (0, _emberLoadInitializers.default)(App, _environment.default.modulePrefix);\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\ndefine(\"kredits-web/components/add-expense-item/component\", [\"exports\", \"@glimmer/component\", \"moment\", \"kredits-web/utils/is-valid-amount\"], function (_exports, _component, _moment, _isValidAmount) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _dec, _dec2, _dec3, _dec4, _dec5, _dec6, _dec7, _dec8, _dec9, _class, _descriptor, _descriptor2, _descriptor3, _descriptor4, _descriptor5, _descriptor6, _descriptor7;\n\n function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\n function _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\n function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\n function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\n function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\n function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\n function _initializerDefineProperty(target, property, descriptor, context) { if (!descriptor) return; Object.defineProperty(target, property, { enumerable: descriptor.enumerable, configurable: descriptor.configurable, writable: descriptor.writable, value: descriptor.initializer ? descriptor.initializer.call(context) : void 0 }); }\n\n function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\n function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\n function _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\n function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\n function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\n function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\n function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\n function _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\n function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n function _applyDecoratedDescriptor(target, property, decorators, descriptor, context) { var desc = {}; Object.keys(descriptor).forEach(function (key) { desc[key] = descriptor[key]; }); desc.enumerable = !!desc.enumerable; desc.configurable = !!desc.configurable; if ('value' in desc || desc.initializer) { desc.writable = true; } desc = decorators.slice().reverse().reduce(function (desc, decorator) { return decorator(target, property, desc) || desc; }, desc); if (context && desc.initializer !== void 0) { desc.value = desc.initializer ? desc.initializer.call(context) : void 0; desc.initializer = undefined; } if (desc.initializer === void 0) { Object.defineProperty(target, property, desc); desc = null; } return desc; }\n\n function _initializerWarningHelper(descriptor, context) { throw new Error('Decorating class property failed. Please ensure that ' + 'proposal-class-properties is enabled and runs after the decorators transform.'); }\n\n var AddExpenseItemComponent = (_dec = Ember._tracked, _dec2 = Ember._tracked, _dec3 = Ember._tracked, _dec4 = Ember._tracked, _dec5 = Ember._tracked, _dec6 = Ember._tracked, _dec7 = Ember._tracked, _dec8 = Ember._action, _dec9 = Ember._action, (_class = /*#__PURE__*/function (_Component) {\n _inherits(AddExpenseItemComponent, _Component);\n\n var _super = _createSuper(AddExpenseItemComponent);\n\n function AddExpenseItemComponent() {\n var _this;\n\n _classCallCheck(this, AddExpenseItemComponent);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _initializerDefineProperty(_assertThisInitialized(_this), \"amount\", _descriptor, _assertThisInitialized(_this));\n\n _initializerDefineProperty(_assertThisInitialized(_this), \"currency\", _descriptor2, _assertThisInitialized(_this));\n\n _initializerDefineProperty(_assertThisInitialized(_this), \"date\", _descriptor3, _assertThisInitialized(_this));\n\n _initializerDefineProperty(_assertThisInitialized(_this), \"title\", _descriptor4, _assertThisInitialized(_this));\n\n _initializerDefineProperty(_assertThisInitialized(_this), \"description\", _descriptor5, _assertThisInitialized(_this));\n\n _initializerDefineProperty(_assertThisInitialized(_this), \"url\", _descriptor6, _assertThisInitialized(_this));\n\n _initializerDefineProperty(_assertThisInitialized(_this), \"tags\", _descriptor7, _assertThisInitialized(_this));\n\n _defineProperty(_assertThisInitialized(_this), \"defaultDate\", (0, _moment.default)().startOf('hour').toDate());\n\n _defineProperty(_assertThisInitialized(_this), \"currencies\", [{\n code: 'EUR'\n }, {\n code: 'USD'\n }]);\n\n return _this;\n }\n\n _createClass(AddExpenseItemComponent, [{\n key: \"isValidAmount\",\n get: function get() {\n return (0, _isValidAmount.default)(this.amount);\n }\n }, {\n key: \"amountInputClass\",\n get: function get() {\n return this.isValidTotal ? 'valid' : '';\n }\n }, {\n key: \"validateForm\",\n value: function validateForm() {\n var formEl = document.querySelector('form#add-expense-item');\n var inputFields = formEl.querySelectorAll('input');\n inputFields.forEach(function (i) {\n return i.classList.remove('invalid');\n });\n var validity = true;\n\n if (!this.isValidAmount) {\n document.querySelector('input[name=expense-amount]').classList.add('invalid');\n validity = false;\n }\n\n if (!formEl.checkValidity()) {\n inputFields.forEach(function (i) {\n if (!i.validity.valid) {\n i.classList.add('invalid');\n validity = false;\n }\n });\n }\n\n return validity;\n }\n }, {\n key: \"updateCurrency\",\n value: function updateCurrency(event) {\n this.currency = event.target.value;\n }\n }, {\n key: \"submit\",\n value: function submit(e) {\n e.preventDefault();\n var dateInput = this.date instanceof Array ? this.date[0] : this.date;\n\n var _moment$utcOffset$toI = (0, _moment.default)(dateInput).utcOffset(0, true).toISOString().split('T'),\n _moment$utcOffset$toI2 = _slicedToArray(_moment$utcOffset$toI, 1),\n date = _moment$utcOffset$toI2[0];\n\n var isValid = this.validateForm();\n if (!isValid) return false;\n var expense = {\n amount: parseFloat(this.amount),\n currency: this.currency,\n date: date,\n title: this.title,\n description: Ember.isPresent(this.description) ? this.description : undefined,\n url: Ember.isPresent(this.url) ? this.url : undefined\n };\n\n if (Ember.isPresent(this.tags)) {\n expense.tags = this.tags.split(',').map(function (t) {\n return t.trim();\n }).filter(function (t) {\n return t.length > 0;\n });\n }\n\n this.args.addExpenseItem(expense);\n }\n }]);\n\n return AddExpenseItemComponent;\n }(_component.default), (_descriptor = _applyDecoratedDescriptor(_class.prototype, \"amount\", [_dec], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function initializer() {\n return '0';\n }\n }), _descriptor2 = _applyDecoratedDescriptor(_class.prototype, \"currency\", [_dec2], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function initializer() {\n return 'EUR';\n }\n }), _descriptor3 = _applyDecoratedDescriptor(_class.prototype, \"date\", [_dec3], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function initializer() {\n return (0, _moment.default)().startOf('hour').toDate();\n }\n }), _descriptor4 = _applyDecoratedDescriptor(_class.prototype, \"title\", [_dec4], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function initializer() {\n return '';\n }\n }), _descriptor5 = _applyDecoratedDescriptor(_class.prototype, \"description\", [_dec5], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function initializer() {\n return '';\n }\n }), _descriptor6 = _applyDecoratedDescriptor(_class.prototype, \"url\", [_dec6], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function initializer() {\n return '';\n }\n }), _descriptor7 = _applyDecoratedDescriptor(_class.prototype, \"tags\", [_dec7], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function initializer() {\n return '';\n }\n }), _applyDecoratedDescriptor(_class.prototype, \"updateCurrency\", [_dec8], Object.getOwnPropertyDescriptor(_class.prototype, \"updateCurrency\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"submit\", [_dec9], Object.getOwnPropertyDescriptor(_class.prototype, \"submit\"), _class.prototype)), _class));\n _exports.default = AddExpenseItemComponent;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\ndefine(\"kredits-web/components/add-reimbursement/component\", [\"exports\", \"@glimmer/component\", \"kredits-web/utils/is-valid-amount\", \"kredits-web/utils/read-file-content\", \"kredits-web/config/environment\"], function (_exports, _component, _isValidAmount, _readFileContent, _environment) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _dec, _dec2, _dec3, _dec4, _dec5, _dec6, _dec7, _dec8, _dec9, _dec10, _dec11, _dec12, _dec13, _dec14, _dec15, _class, _descriptor, _descriptor2, _descriptor3, _descriptor4, _descriptor5, _descriptor6, _descriptor7, _descriptor8, _descriptor9;\n\n function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } 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 normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }\n\n function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\n function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\n function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\n function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\n function _initializerDefineProperty(target, property, descriptor, context) { if (!descriptor) return; Object.defineProperty(target, property, { enumerable: descriptor.enumerable, configurable: descriptor.configurable, writable: descriptor.writable, value: descriptor.initializer ? descriptor.initializer.call(context) : void 0 }); }\n\n function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\n function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\n function _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\n function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\n function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\n function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\n function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\n function _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\n function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n function _applyDecoratedDescriptor(target, property, decorators, descriptor, context) { var desc = {}; Object.keys(descriptor).forEach(function (key) { desc[key] = descriptor[key]; }); desc.enumerable = !!desc.enumerable; desc.configurable = !!desc.configurable; if ('value' in desc || desc.initializer) { desc.writable = true; } desc = decorators.slice().reverse().reduce(function (desc, decorator) { return decorator(target, property, desc) || desc; }, desc); if (context && desc.initializer !== void 0) { desc.value = desc.initializer ? desc.initializer.call(context) : void 0; desc.initializer = undefined; } if (desc.initializer === void 0) { Object.defineProperty(target, property, desc); desc = null; } return desc; }\n\n function _initializerWarningHelper(descriptor, context) { throw new Error('Decorating class property failed. Please ensure that ' + 'proposal-class-properties is enabled and runs after the decorators transform.'); }\n\n var AddReimbursementComponent = (_dec = Ember.inject.service, _dec2 = Ember.inject.service, _dec3 = Ember.inject.service, _dec4 = Ember.computed.alias('kredits.contributorsSorted'), _dec5 = Ember._tracked, _dec6 = Ember._tracked, _dec7 = Ember._tracked, _dec8 = Ember._tracked, _dec9 = Ember._tracked, _dec10 = Ember._action, _dec11 = Ember._action, _dec12 = Ember._action, _dec13 = Ember._action, _dec14 = Ember._action, _dec15 = Ember._action, (_class = /*#__PURE__*/function (_Component) {\n _inherits(AddReimbursementComponent, _Component);\n\n var _super = _createSuper(AddReimbursementComponent);\n\n function AddReimbursementComponent() {\n var _this;\n\n _classCallCheck(this, AddReimbursementComponent);\n\n _this = _super.apply(this, arguments);\n\n _initializerDefineProperty(_assertThisInitialized(_this), \"router\", _descriptor, _assertThisInitialized(_this));\n\n _initializerDefineProperty(_assertThisInitialized(_this), \"kredits\", _descriptor2, _assertThisInitialized(_this));\n\n _initializerDefineProperty(_assertThisInitialized(_this), \"exchangeRates\", _descriptor3, _assertThisInitialized(_this));\n\n _initializerDefineProperty(_assertThisInitialized(_this), \"contributors\", _descriptor4, _assertThisInitialized(_this));\n\n _initializerDefineProperty(_assertThisInitialized(_this), \"recipientId\", _descriptor5, _assertThisInitialized(_this));\n\n _initializerDefineProperty(_assertThisInitialized(_this), \"title\", _descriptor6, _assertThisInitialized(_this));\n\n _initializerDefineProperty(_assertThisInitialized(_this), \"total\", _descriptor7, _assertThisInitialized(_this));\n\n _initializerDefineProperty(_assertThisInitialized(_this), \"expenses\", _descriptor8, _assertThisInitialized(_this));\n\n _initializerDefineProperty(_assertThisInitialized(_this), \"expenseFormVisible\", _descriptor9, _assertThisInitialized(_this));\n\n _this.exchangeRates.fetchRates();\n\n return _this;\n }\n\n _createClass(AddReimbursementComponent, [{\n key: \"isValidTotal\",\n get: function get() {\n return (0, _isValidAmount.default)(this.total);\n }\n }, {\n key: \"totalInputClass\",\n get: function get() {\n return this.isValidTotal ? 'valid' : '';\n }\n }, {\n key: \"totalEUR\",\n get: function get() {\n var expenses = this.expenses.filterBy('currency', 'EUR');\n\n if (expenses.length > 0) {\n return expenses.mapBy('amount').reduce(function (summation, current) {\n return summation + current;\n });\n } else {\n return 0;\n }\n }\n }, {\n key: \"totalUSD\",\n get: function get() {\n var expenses = this.expenses.filterBy('currency', 'USD');\n\n if (expenses.length > 0) {\n return expenses.mapBy('amount').reduce(function (summation, current) {\n return summation + current;\n });\n } else {\n return 0;\n }\n }\n }, {\n key: \"submitButtonEnabled\",\n get: function get() {\n return this.isValidTotal && this.expenses.length > 0;\n }\n }, {\n key: \"submitButtonDisabled\",\n get: function get() {\n return !this.submitButtonEnabled;\n }\n }, {\n key: \"scrollToExpenseItemForm\",\n value: function scrollToExpenseItemForm() {\n var anchor = document.getElementById('new-expense-item');\n anchor.scrollIntoView();\n }\n }, {\n key: \"updateTotalAmountFromFiat\",\n value: function updateTotalAmountFromFiat() {\n var btcAmount = parseFloat(this.total);\n\n if (this.exchangeRates.btceur > 0 && this.totalEUR > 0) {\n btcAmount += this.totalEUR / this.exchangeRates.btceur;\n }\n\n if (this.exchangeRates.btcusd > 0 && this.totalUSD > 0) {\n btcAmount += this.totalUSD / this.exchangeRates.btcusd;\n }\n\n if (this.totalUSD === 0 && this.totalEUR === 0) {\n btcAmount = 0;\n }\n\n this.total = btcAmount.toFixed(8);\n } // TODO use ember-concurrency here\n // https://github.com/67P/kredits-web/pull/209#discussion_r1064234421\n\n }, {\n key: \"addExpensesFromFile\",\n value: function () {\n var _addExpensesFromFile = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee(evt) {\n var content, expenses, _iterator, _step, item;\n\n return regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return (0, _readFileContent.default)(evt.target.files[0]);\n\n case 2:\n content = _context.sent;\n expenses = JSON.parse(content);\n\n if (expenses instanceof Array) {\n _iterator = _createForOfIteratorHelper(expenses);\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n item = _step.value;\n this.addExpenseItem(item);\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n } else {\n console.warn(\"Expenses in file must be a list of items:\");\n console.debug(content);\n }\n\n case 5:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n function addExpensesFromFile(_x) {\n return _addExpensesFromFile.apply(this, arguments);\n }\n\n return addExpensesFromFile;\n }()\n }, {\n key: \"updateContributor\",\n value: function updateContributor(event) {\n this.recipientId = event.target.value;\n }\n }, {\n key: \"showExpenseForm\",\n value: function showExpenseForm() {\n this.expenseFormVisible = true;\n Ember.run.scheduleOnce('afterRender', this, this.scrollToExpenseItemForm);\n }\n }, {\n key: \"addExpenseItem\",\n value: function addExpenseItem(expenseItem) {\n this.expenses.pushObject(expenseItem);\n this.updateTotalAmountFromFiat();\n this.expenseFormVisible = false;\n }\n }, {\n key: \"removeExpenseItem\",\n value: function removeExpenseItem(expenseItem) {\n this.expenses.removeObject(expenseItem);\n this.updateTotalAmountFromFiat();\n\n if (this.expenses.length === 0) {\n this.expenseFormVisible = true;\n }\n }\n }, {\n key: \"submit\",\n value: function submit(e) {\n var _this2 = this;\n\n e.preventDefault();\n\n if (!this.kredits.currentUser) {\n window.alert('You need to connect your RSK account first.');\n return false;\n }\n\n if (!this.kredits.currentUserIsCore) {\n window.alert('Only core contributors can submit reimbursements.');\n return false;\n }\n\n var contributor = this.contributors.findBy('id', parseInt(this.recipientId));\n var attributes = {\n amount: parseInt(parseFloat(this.total) * 100000000),\n // convert to sats\n token: _environment.default.tokens['BTC'],\n recipientId: parseInt(this.recipientId),\n title: \"Expenses covered by \".concat(contributor.name),\n description: this.description,\n url: this.url,\n expenses: JSON.parse(JSON.stringify(this.expenses))\n };\n this.inProgress = true;\n this.kredits.addReimbursement(attributes).then(function\n /* reimbursement */\n () {\n _this2.router.transitionTo('budget');\n }).catch(function (e) {\n console.error('Could not add reimbursement:', e);\n window.alert('Something went wrong. Please check the browser console.');\n }).finally(function () {\n _this2.inProgress = false;\n });\n }\n }]);\n\n return AddReimbursementComponent;\n }(_component.default), (_descriptor = _applyDecoratedDescriptor(_class.prototype, \"router\", [_dec], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n }), _descriptor2 = _applyDecoratedDescriptor(_class.prototype, \"kredits\", [_dec2], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n }), _descriptor3 = _applyDecoratedDescriptor(_class.prototype, \"exchangeRates\", [_dec3], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n }), _descriptor4 = _applyDecoratedDescriptor(_class.prototype, \"contributors\", [_dec4], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n }), _descriptor5 = _applyDecoratedDescriptor(_class.prototype, \"recipientId\", [_dec5], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function initializer() {\n return null;\n }\n }), _descriptor6 = _applyDecoratedDescriptor(_class.prototype, \"title\", [_dec6], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function initializer() {\n return '';\n }\n }), _descriptor7 = _applyDecoratedDescriptor(_class.prototype, \"total\", [_dec7], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function initializer() {\n return '0';\n }\n }), _descriptor8 = _applyDecoratedDescriptor(_class.prototype, \"expenses\", [_dec8], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function initializer() {\n return Ember.A([]);\n }\n }), _descriptor9 = _applyDecoratedDescriptor(_class.prototype, \"expenseFormVisible\", [_dec9], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function initializer() {\n return true;\n }\n }), _applyDecoratedDescriptor(_class.prototype, \"addExpensesFromFile\", [_dec10], Object.getOwnPropertyDescriptor(_class.prototype, \"addExpensesFromFile\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"updateContributor\", [_dec11], Object.getOwnPropertyDescriptor(_class.prototype, \"updateContributor\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"showExpenseForm\", [_dec12], Object.getOwnPropertyDescriptor(_class.prototype, \"showExpenseForm\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"addExpenseItem\", [_dec13], Object.getOwnPropertyDescriptor(_class.prototype, \"addExpenseItem\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"removeExpenseItem\", [_dec14], Object.getOwnPropertyDescriptor(_class.prototype, \"removeExpenseItem\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"submit\", [_dec15], Object.getOwnPropertyDescriptor(_class.prototype, \"submit\"), _class.prototype)), _class));\n _exports.default = AddReimbursementComponent;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\ndefine(\"kredits-web/components/budget-balances/component\", [\"exports\", \"@glimmer/component\"], function (_exports, _component) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _dec, _dec2, _class, _descriptor, _descriptor2;\n\n function _initializerDefineProperty(target, property, descriptor, context) { if (!descriptor) return; Object.defineProperty(target, property, { enumerable: descriptor.enumerable, configurable: descriptor.configurable, writable: descriptor.writable, value: descriptor.initializer ? descriptor.initializer.call(context) : void 0 }); }\n\n function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\n function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\n function _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\n function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\n function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\n function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\n function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\n function _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\n function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n function _applyDecoratedDescriptor(target, property, decorators, descriptor, context) { var desc = {}; Object.keys(descriptor).forEach(function (key) { desc[key] = descriptor[key]; }); desc.enumerable = !!desc.enumerable; desc.configurable = !!desc.configurable; if ('value' in desc || desc.initializer) { desc.writable = true; } desc = decorators.slice().reverse().reduce(function (desc, decorator) { return decorator(target, property, desc) || desc; }, desc); if (context && desc.initializer !== void 0) { desc.value = desc.initializer ? desc.initializer.call(context) : void 0; desc.initializer = undefined; } if (desc.initializer === void 0) { Object.defineProperty(target, property, desc); desc = null; } return desc; }\n\n function _initializerWarningHelper(descriptor, context) { throw new Error('Decorating class property failed. Please ensure that ' + 'proposal-class-properties is enabled and runs after the decorators transform.'); }\n\n var BudgetBalancesComponent = (_dec = Ember.inject.service, _dec2 = Ember.computed.alias('communityFunds.balances'), (_class = /*#__PURE__*/function (_Component) {\n _inherits(BudgetBalancesComponent, _Component);\n\n var _super = _createSuper(BudgetBalancesComponent);\n\n function BudgetBalancesComponent() {\n var _this;\n\n _classCallCheck(this, BudgetBalancesComponent);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _initializerDefineProperty(_assertThisInitialized(_this), \"communityFunds\", _descriptor, _assertThisInitialized(_this));\n\n _initializerDefineProperty(_assertThisInitialized(_this), \"balances\", _descriptor2, _assertThisInitialized(_this));\n\n return _this;\n }\n\n _createClass(BudgetBalancesComponent, [{\n key: \"loading\",\n get: function get() {\n return !this.communityFunds.balancesLoaded;\n }\n }]);\n\n return BudgetBalancesComponent;\n }(_component.default), (_descriptor = _applyDecoratedDescriptor(_class.prototype, \"communityFunds\", [_dec], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n }), _descriptor2 = _applyDecoratedDescriptor(_class.prototype, \"balances\", [_dec2], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n })), _class));\n _exports.default = BudgetBalancesComponent;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\ndefine(\"kredits-web/components/confirmed-in/component\", [\"exports\", \"@glimmer/component\", \"moment\"], function (_exports, _component, _moment) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _dec, _class, _descriptor;\n\n function _initializerDefineProperty(target, property, descriptor, context) { if (!descriptor) return; Object.defineProperty(target, property, { enumerable: descriptor.enumerable, configurable: descriptor.configurable, writable: descriptor.writable, value: descriptor.initializer ? descriptor.initializer.call(context) : void 0 }); }\n\n function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\n function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\n function _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\n function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\n function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\n function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\n function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\n function _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\n function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n function _applyDecoratedDescriptor(target, property, decorators, descriptor, context) { var desc = {}; Object.keys(descriptor).forEach(function (key) { desc[key] = descriptor[key]; }); desc.enumerable = !!desc.enumerable; desc.configurable = !!desc.configurable; if ('value' in desc || desc.initializer) { desc.writable = true; } desc = decorators.slice().reverse().reduce(function (desc, decorator) { return decorator(target, property, desc) || desc; }, desc); if (context && desc.initializer !== void 0) { desc.value = desc.initializer ? desc.initializer.call(context) : void 0; desc.initializer = undefined; } if (desc.initializer === void 0) { Object.defineProperty(target, property, desc); desc = null; } return desc; }\n\n function _initializerWarningHelper(descriptor, context) { throw new Error('Decorating class property failed. Please ensure that ' + 'proposal-class-properties is enabled and runs after the decorators transform.'); }\n\n var ConfirmedInComponent = (_dec = Ember.inject.service, (_class = /*#__PURE__*/function (_Component) {\n _inherits(ConfirmedInComponent, _Component);\n\n var _super = _createSuper(ConfirmedInComponent);\n\n function ConfirmedInComponent() {\n var _this;\n\n _classCallCheck(this, ConfirmedInComponent);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _initializerDefineProperty(_assertThisInitialized(_this), \"kredits\", _descriptor, _assertThisInitialized(_this));\n\n return _this;\n }\n\n _createClass(ConfirmedInComponent, [{\n key: \"confirmedInBlocks\",\n get: function get() {\n return this.args.confirmedAtBlock - this.kredits.currentBlock;\n }\n }, {\n key: \"confirmedInSeconds\",\n get: function get() {\n // A new block is mined every 30 seconds on average\n return this.confirmedInBlocks * 30;\n }\n }, {\n key: \"confirmedInHumanTime\",\n get: function get() {\n return _moment.default.duration(this.confirmedInSeconds, \"seconds\").humanize();\n }\n }, {\n key: \"isConfirmed\",\n get: function get() {\n return this.confirmedInBlocks <= 0;\n }\n }]);\n\n return ConfirmedInComponent;\n }(_component.default), (_descriptor = _applyDecoratedDescriptor(_class.prototype, \"kredits\", [_dec], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n })), _class));\n _exports.default = ConfirmedInComponent;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\ndefine(\"kredits-web/components/expense-list/component\", [\"exports\", \"@glimmer/component\"], function (_exports, _component) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\n function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\n function _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\n function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\n function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\n function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\n function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\n function _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\n function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n var ExpenseListComponent = /*#__PURE__*/function (_Component) {\n _inherits(ExpenseListComponent, _Component);\n\n var _super = _createSuper(ExpenseListComponent);\n\n function ExpenseListComponent() {\n _classCallCheck(this, ExpenseListComponent);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(ExpenseListComponent, [{\n key: \"showDeleteButton\",\n get: function get() {\n return !!this.args.deletable;\n }\n }]);\n\n return ExpenseListComponent;\n }(_component.default);\n\n _exports.default = ExpenseListComponent;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\ndefine(\"kredits-web/components/reimbursement-list/component\", [\"exports\", \"@glimmer/component\", \"kredits-web/config/environment\"], function (_exports, _component, _environment) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _dec, _dec2, _dec3, _class, _descriptor, _descriptor2;\n\n function _initializerDefineProperty(target, property, descriptor, context) { if (!descriptor) return; Object.defineProperty(target, property, { enumerable: descriptor.enumerable, configurable: descriptor.configurable, writable: descriptor.writable, value: descriptor.initializer ? descriptor.initializer.call(context) : void 0 }); }\n\n function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\n function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\n function _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\n function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\n function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\n function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\n function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\n function _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\n function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n function _applyDecoratedDescriptor(target, property, decorators, descriptor, context) { var desc = {}; Object.keys(descriptor).forEach(function (key) { desc[key] = descriptor[key]; }); desc.enumerable = !!desc.enumerable; desc.configurable = !!desc.configurable; if ('value' in desc || desc.initializer) { desc.writable = true; } desc = decorators.slice().reverse().reduce(function (desc, decorator) { return decorator(target, property, desc) || desc; }, desc); if (context && desc.initializer !== void 0) { desc.value = desc.initializer ? desc.initializer.call(context) : void 0; desc.initializer = undefined; } if (desc.initializer === void 0) { Object.defineProperty(target, property, desc); desc = null; } return desc; }\n\n function _initializerWarningHelper(descriptor, context) { throw new Error('Decorating class property failed. Please ensure that ' + 'proposal-class-properties is enabled and runs after the decorators transform.'); }\n\n var ReimbursementListComponent = (_dec = Ember.inject.service, _dec2 = Ember.computed.sort('args.items', 'itemSorting'), _dec3 = Ember._action, (_class = /*#__PURE__*/function (_Component) {\n _inherits(ReimbursementListComponent, _Component);\n\n var _super = _createSuper(ReimbursementListComponent);\n\n function ReimbursementListComponent() {\n var _this;\n\n _classCallCheck(this, ReimbursementListComponent);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _initializerDefineProperty(_assertThisInitialized(_this), \"kredits\", _descriptor, _assertThisInitialized(_this));\n\n _defineProperty(_assertThisInitialized(_this), \"itemSorting\", Object.freeze(['pendingStatus:asc', 'id:desc']));\n\n _initializerDefineProperty(_assertThisInitialized(_this), \"itemsSorted\", _descriptor2, _assertThisInitialized(_this));\n\n return _this;\n }\n\n _createClass(ReimbursementListComponent, [{\n key: \"ipfsGatewayUrl\",\n get: function get() {\n return _environment.default.ipfs.gatewayUrl;\n }\n }, {\n key: \"veto\",\n value: function veto(id) {\n this.kredits.vetoReimbursement(id).then(function (transaction) {\n console.debug('[controllers:budget] Veto submitted to chain: ' + transaction.hash);\n });\n }\n }]);\n\n return ReimbursementListComponent;\n }(_component.default), (_descriptor = _applyDecoratedDescriptor(_class.prototype, \"kredits\", [_dec], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n }), _descriptor2 = _applyDecoratedDescriptor(_class.prototype, \"itemsSorted\", [_dec2], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n }), _applyDecoratedDescriptor(_class.prototype, \"veto\", [_dec3], Object.getOwnPropertyDescriptor(_class.prototype, \"veto\"), _class.prototype)), _class));\n _exports.default = ReimbursementListComponent;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\ndefine(\"kredits-web/controllers/budget\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _dec, _dec2, _dec3, _class, _descriptor, _descriptor2, _descriptor3;\n\n function _initializerDefineProperty(target, property, descriptor, context) { if (!descriptor) return; Object.defineProperty(target, property, { enumerable: descriptor.enumerable, configurable: descriptor.configurable, writable: descriptor.writable, value: descriptor.initializer ? descriptor.initializer.call(context) : void 0 }); }\n\n function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\n function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\n function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n function _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\n function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\n function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\n function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\n function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\n function _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\n function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n function _applyDecoratedDescriptor(target, property, decorators, descriptor, context) { var desc = {}; Object.keys(descriptor).forEach(function (key) { desc[key] = descriptor[key]; }); desc.enumerable = !!desc.enumerable; desc.configurable = !!desc.configurable; if ('value' in desc || desc.initializer) { desc.writable = true; } desc = decorators.slice().reverse().reduce(function (desc, decorator) { return decorator(target, property, desc) || desc; }, desc); if (context && desc.initializer !== void 0) { desc.value = desc.initializer ? desc.initializer.call(context) : void 0; desc.initializer = undefined; } if (desc.initializer === void 0) { Object.defineProperty(target, property, desc); desc = null; } return desc; }\n\n function _initializerWarningHelper(descriptor, context) { throw new Error('Decorating class property failed. Please ensure that ' + 'proposal-class-properties is enabled and runs after the decorators transform.'); }\n\n var BudgetController = (_dec = Ember.inject.service, _dec2 = Ember.computed.alias('kredits.reimbursementsUnconfirmed'), _dec3 = Ember.computed.alias('kredits.reimbursementsConfirmed'), (_class = /*#__PURE__*/function (_Ember$Controller) {\n _inherits(BudgetController, _Ember$Controller);\n\n var _super = _createSuper(BudgetController);\n\n function BudgetController() {\n var _this;\n\n _classCallCheck(this, BudgetController);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _initializerDefineProperty(_assertThisInitialized(_this), \"kredits\", _descriptor, _assertThisInitialized(_this));\n\n _initializerDefineProperty(_assertThisInitialized(_this), \"reimbursementsUnconfirmed\", _descriptor2, _assertThisInitialized(_this));\n\n _initializerDefineProperty(_assertThisInitialized(_this), \"reimbursementsConfirmed\", _descriptor3, _assertThisInitialized(_this));\n\n return _this;\n }\n\n return _createClass(BudgetController);\n }(Ember.Controller), (_descriptor = _applyDecoratedDescriptor(_class.prototype, \"kredits\", [_dec], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n }), _descriptor2 = _applyDecoratedDescriptor(_class.prototype, \"reimbursementsUnconfirmed\", [_dec2], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n }), _descriptor3 = _applyDecoratedDescriptor(_class.prototype, \"reimbursementsConfirmed\", [_dec3], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n })), _class));\n _exports.default = BudgetController;\n});","define(\"kredits-web/component-managers/glimmer\", [\"exports\", \"@glimmer/component/-private/ember-component-manager\"], function (_exports, _emberComponentManager) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function get() {\n return _emberComponentManager.default;\n }\n });\n});","define(\"kredits-web/components/add-contribution/component\", [\"exports\", \"moment\"], function (_exports, _moment) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\n function _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\n function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\n function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\n function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\n function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\n var _default = Ember.Component.extend({\n kredits: Ember.inject.service(),\n attributes: null,\n contributors: Ember.computed('kredits.contributorsSorted.[]', function () {\n return this.kredits.contributorsSorted.map(function (c) {\n return {\n id: c.id.toString(),\n name: c.name\n };\n });\n }),\n isValidContributor: Ember.computed.notEmpty('contributorId'),\n isValidKind: Ember.computed.notEmpty('kind'),\n isValidAmount: Ember.computed('amount', function () {\n return parseInt(this.amount, 10) > 0;\n }),\n isValidDescription: Ember.computed.notEmpty('description'),\n isValidUrl: Ember.computed.notEmpty('url'),\n isValid: Ember.computed.and('isValidContributor', 'isValidKind', 'isValidAmount', 'isValidDescription'),\n init: function init() {\n this._super.apply(this, arguments);\n\n this.set('defaultDate', (0, _moment.default)().startOf('hour').toDate());\n this.set('defaultAttr', {\n contributorId: null,\n kind: null,\n date: this.defaultDate,\n amount: null,\n description: null,\n url: null,\n details: null\n });\n this.set('attributes', Ember.assign({}, this.defaultAttr, this.attributes));\n this.reset();\n },\n reset: function reset() {\n this.setProperties(this.attributes);\n },\n actions: {\n submit: function submit(evt) {\n var _this = this;\n\n evt.preventDefault();\n\n if (!this.isValid) {\n alert('Invalid data. Please review and try again.');\n return;\n }\n\n var attributes = this.getProperties(Object.keys(this.attributes));\n attributes.contributorId = parseInt(this.contributorId);\n var dateInput = attributes.date instanceof Array ? attributes.date[0] : attributes.date;\n\n var _dateInput$toISOStrin = dateInput.toISOString().split('T'),\n _dateInput$toISOStrin2 = _slicedToArray(_dateInput$toISOStrin, 2),\n date = _dateInput$toISOStrin2[0],\n time = _dateInput$toISOStrin2[1];\n\n var _ref = [date, time];\n attributes.date = _ref[0];\n attributes.time = _ref[1];\n this.set('inProgress', true);\n this.save(attributes).then(function\n /*contribution*/\n () {\n _this.reset();\n }, function (err) {\n console.warn(err);\n window.alert('Something went wrong. Check the browser console for details.');\n }).finally(function () {\n return _this.set('inProgress', false);\n });\n }\n }\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/components/add-contribution/template\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.HTMLBars.template({\n \"id\": \"Ht3NNTLA\",\n \"block\": \"{\\\"symbols\\\":[\\\"contributor\\\"],\\\"statements\\\":[[10,\\\"form\\\"],[15,\\\"onsubmit\\\",[30,[36,1],[[32,0],\\\"submit\\\"],null]],[12],[2,\\\"\\\\n \\\"],[10,\\\"label\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"p\\\"],[14,0,\\\"label\\\"],[12],[2,\\\"Contributor:\\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"p\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"select\\\"],[14,\\\"required\\\",\\\"\\\"],[15,\\\"onchange\\\",[30,[36,1],[[32,0],[30,[36,2],[[32,0,[\\\"contributorId\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[12],[2,\\\"\\\\n \\\"],[10,\\\"option\\\"],[14,2,\\\"\\\"],[14,\\\"selected\\\",\\\"\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,\\\"hidden\\\",\\\"\\\"],[12],[13],[2,\\\"\\\\n\\\"],[6,[37,4],[[30,[36,3],[[30,[36,3],[[32,0,[\\\"contributors\\\"]]],null]],null]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\" \\\"],[10,\\\"option\\\"],[15,2,[32,1,[\\\"id\\\"]]],[15,\\\"selected\\\",[30,[36,0],[[32,0,[\\\"contributorId\\\"]],[32,1,[\\\"id\\\"]]],null]],[12],[1,[32,1,[\\\"name\\\"]]],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[1]}]]],[2,\\\" \\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"label\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"p\\\"],[14,0,\\\"label\\\"],[12],[2,\\\"Kind:\\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"p\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"select\\\"],[14,\\\"required\\\",\\\"\\\"],[15,\\\"onchange\\\",[30,[36,1],[[32,0],[30,[36,2],[[32,0,[\\\"kind\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[12],[2,\\\"\\\\n \\\"],[10,\\\"option\\\"],[14,2,\\\"\\\"],[14,\\\"selected\\\",\\\"\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,\\\"hidden\\\",\\\"\\\"],[12],[13],[2,\\\"\\\\n \\\"],[10,\\\"option\\\"],[14,2,\\\"bureaucracy\\\"],[15,\\\"selected\\\",[30,[36,0],[[32,0,[\\\"kind\\\"]],\\\"bureaucracy\\\"],null]],[12],[2,\\\"Bureaucracy\\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"option\\\"],[14,2,\\\"community\\\"],[15,\\\"selected\\\",[30,[36,0],[[32,0,[\\\"kind\\\"]],\\\"community\\\"],null]],[12],[2,\\\"Community\\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"option\\\"],[14,2,\\\"design\\\"],[15,\\\"selected\\\",[30,[36,0],[[32,0,[\\\"kind\\\"]],\\\"design\\\"],null]],[12],[2,\\\"Design\\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"option\\\"],[14,2,\\\"dev\\\"],[15,\\\"selected\\\",[30,[36,0],[[32,0,[\\\"kind\\\"]],\\\"dev\\\"],null]],[12],[2,\\\"Development\\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"option\\\"],[14,2,\\\"docs\\\"],[15,\\\"selected\\\",[30,[36,0],[[32,0,[\\\"kind\\\"]],\\\"docs\\\"],null]],[12],[2,\\\"Documentation\\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"option\\\"],[14,2,\\\"ops\\\"],[15,\\\"selected\\\",[30,[36,0],[[32,0,[\\\"kind\\\"]],\\\"ops\\\"],null]],[12],[2,\\\"IT Operations\\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"option\\\"],[14,2,\\\"outreach\\\"],[15,\\\"selected\\\",[30,[36,0],[[32,0,[\\\"kind\\\"]],\\\"outreach\\\"],null]],[12],[2,\\\"Outreach\\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"option\\\"],[14,2,\\\"qa\\\"],[15,\\\"selected\\\",[30,[36,0],[[32,0,[\\\"kind\\\"]],\\\"qa\\\"],null]],[12],[2,\\\"Quality Assurance\\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"option\\\"],[14,2,\\\"special\\\"],[15,\\\"selected\\\",[30,[36,0],[[32,0,[\\\"kind\\\"]],\\\"special\\\"],null]],[12],[2,\\\"Special\\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"label\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"p\\\"],[14,0,\\\"label\\\"],[12],[2,\\\"Date:\\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"p\\\"],[12],[2,\\\"\\\\n \\\"],[1,[30,[36,5],null,[[\\\"date\\\",\\\"defaultDate\\\",\\\"maxDate\\\",\\\"enableTime\\\",\\\"time_24hr\\\",\\\"onChange\\\"],[[32,0,[\\\"date\\\"]],[32,0,[\\\"defaultDate\\\"]],[32,0,[\\\"defaultDate\\\"]],true,true,[30,[36,1],[[32,0],[30,[36,2],[[32,0,[\\\"date\\\"]]],null]],null]]]]],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"label\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"p\\\"],[14,0,\\\"label\\\"],[12],[2,\\\"Amount:\\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"p\\\"],[12],[2,\\\"\\\\n \\\"],[1,[30,[36,7],null,[[\\\"type\\\",\\\"placeholder\\\",\\\"value\\\",\\\"class\\\"],[\\\"text\\\",\\\"500\\\",[32,0,[\\\"amount\\\"]],[30,[36,6],[[32,0,[\\\"isValidAmount\\\"]],\\\"valid\\\",\\\"\\\"],null]]]]],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"label\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"p\\\"],[14,0,\\\"label\\\"],[12],[2,\\\"Description:\\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"p\\\"],[12],[2,\\\"\\\\n \\\"],[1,[30,[36,7],null,[[\\\"type\\\",\\\"value\\\",\\\"class\\\"],[\\\"text\\\",[32,0,[\\\"description\\\"]],[30,[36,6],[[32,0,[\\\"isValidDescription\\\"]],\\\"valid\\\",\\\"\\\"],null]]]]],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"label\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"p\\\"],[14,0,\\\"label\\\"],[12],[2,\\\"URL (optional):\\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"p\\\"],[12],[2,\\\"\\\\n \\\"],[1,[30,[36,7],null,[[\\\"type\\\",\\\"value\\\",\\\"class\\\"],[\\\"text\\\",[32,0,[\\\"url\\\"]],[30,[36,6],[[32,0,[\\\"isValidUrl\\\"]],\\\"valid\\\",\\\"\\\"],null]]]]],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n\\\\n\\\"],[6,[37,6],[[32,0,[\\\"details\\\"]]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\" \\\"],[10,\\\"label\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"p\\\"],[14,0,\\\"label\\\"],[12],[2,\\\"Details:\\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"p\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"pre\\\"],[12],[2,\\\" \\\"],[1,[32,0,[\\\"details\\\"]]],[2,\\\" \\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]]],[2,\\\"\\\\n \\\"],[10,\\\"p\\\"],[14,0,\\\"actions\\\"],[12],[2,\\\"\\\\n \\\"],[1,[30,[36,7],null,[[\\\"type\\\",\\\"disabled\\\",\\\"value\\\"],[\\\"submit\\\",[32,0,[\\\"inProgress\\\"]],[30,[36,6],[[32,0,[\\\"inProgress\\\"]],\\\"Processing\\\",\\\"Save\\\"],null]]]]],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n\\\"],[13],[2,\\\"\\\\n\\\\n\\\"]],\\\"hasEval\\\":false,\\\"upvars\\\":[\\\"eq\\\",\\\"action\\\",\\\"mut\\\",\\\"-track-array\\\",\\\"each\\\",\\\"ember-flatpickr\\\",\\\"if\\\",\\\"input\\\"]}\",\n \"meta\": {\n \"moduleName\": \"kredits-web/components/add-contribution/template.hbs\"\n }\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/components/add-contributor/component\", [\"exports\", \"web3-utils\"], function (_exports, _web3Utils) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.Component.extend({\n router: Ember.inject.service(),\n kredits: Ember.inject.service(),\n attributes: null,\n isValidAccount: Ember.computed('account', function () {\n return (0, _web3Utils.isAddress)(this.account);\n }),\n isValidName: Ember.computed.notEmpty('name'),\n isValidURL: Ember.computed.notEmpty('url'),\n isValidGithubUID: Ember.computed.notEmpty('github_uid'),\n isValidGithubUsername: Ember.computed.notEmpty('github_username'),\n isValidGiteaUsername: Ember.computed.notEmpty('gitea_username'),\n isValidWikiUsername: Ember.computed.notEmpty('wiki_username'),\n isValidZoomDisplayName: Ember.computed.notEmpty('zoom_display_name'),\n isValid: Ember.computed.and('isValidAccount', 'isValidName', 'isValidGithubUID'),\n inProgress: false,\n init: function init() {\n this._super.apply(this, arguments);\n\n this.setDefaultAttributes();\n this.reset();\n },\n setDefaultAttributes: function setDefaultAttributes() {\n if (Ember.isPresent(this.attributes)) {\n return;\n }\n\n this.set('attributes', {\n account: null,\n name: null,\n kind: 'person',\n url: null,\n github_username: null,\n github_uid: null,\n gitea_username: null,\n wiki_username: null,\n zoom_display_name: null\n });\n },\n reset: function reset() {\n this.setProperties(this.attributes);\n },\n actions: {\n submit: function submit(evt) {\n var _this = this;\n\n evt.preventDefault();\n\n if (!this.kredits.currentUserIsCore) {\n window.alert('Only core team members can edit profiles. Please ask someone to set you up.');\n return;\n }\n\n if (!this.isValid) {\n window.alert('Invalid data. Please review and try again.');\n return;\n }\n\n var attributes = Object.keys(this.attributes);\n var contributor = this.getProperties(attributes);\n this.set('inProgress', true);\n this.save(contributor).then(function () {\n _this.reset();\n }).catch(function (err) {\n console.warn(err);\n window.alert('Something went wrong. Please check the browser console.');\n }).finally(function () {\n _this.set('inProgress', false);\n\n _this.router.transitionTo('dashboard');\n });\n }\n }\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/components/add-contributor/template\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.HTMLBars.template({\n \"id\": \"M5Q03SON\",\n \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[10,\\\"form\\\"],[15,\\\"onsubmit\\\",[30,[36,0],[[32,0],\\\"submit\\\"],null]],[12],[2,\\\"\\\\n \\\"],[10,\\\"p\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"c-account\\\"],[12],[2,\\\"Ethereum account\\\"],[13],[2,\\\"\\\\n \\\"],[8,\\\"input\\\",[[24,3,\\\"account\\\"],[24,1,\\\"c-account\\\"],[24,\\\"placeholder\\\",\\\"0xF18E631Ea191aE4ebE70046Fcb01a436554421BA4\\\"],[16,0,[30,[36,1],[[32,0,[\\\"isValidAccount\\\"]],\\\"valid\\\",\\\"\\\"],null]]],[[\\\"@type\\\",\\\"@value\\\"],[\\\"text\\\",[32,0,[\\\"account\\\"]]]],null],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"p\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"c-kind\\\"],[12],[2,\\\"Kind\\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"select\\\"],[14,\\\"required\\\",\\\"\\\"],[15,\\\"onchange\\\",[30,[36,0],[[32,0],[30,[36,2],[[32,0,[\\\"kind\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"c-kind\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"option\\\"],[14,2,\\\"person\\\"],[15,\\\"selected\\\",[30,[36,3],[[32,0,[\\\"kind\\\"]],\\\"person\\\"],null]],[12],[2,\\\"Person\\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"option\\\"],[14,2,\\\"organization\\\"],[15,\\\"selected\\\",[30,[36,3],[[32,0,[\\\"kind\\\"]],\\\"organization\\\"],null]],[12],[2,\\\"Organization\\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"p\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"c-name\\\"],[12],[2,\\\"Name\\\"],[13],[2,\\\"\\\\n \\\"],[1,[30,[36,4],null,[[\\\"name\\\",\\\"type\\\",\\\"value\\\",\\\"placeholder\\\",\\\"class\\\",\\\"id\\\"],[\\\"name\\\",\\\"text\\\",[32,0,[\\\"name\\\"]],\\\"Zero Cool\\\",[30,[36,1],[[32,0,[\\\"isValidName\\\"]],\\\"valid\\\",\\\"\\\"],null],\\\"c-name\\\"]]]],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"p\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"c-url\\\"],[12],[2,\\\"URL\\\"],[13],[2,\\\"\\\\n \\\"],[1,[30,[36,4],null,[[\\\"name\\\",\\\"type\\\",\\\"value\\\",\\\"placeholder\\\",\\\"class\\\",\\\"id\\\"],[\\\"url\\\",\\\"text\\\",[32,0,[\\\"url\\\"]],\\\"http://zerocool.bit\\\",[30,[36,1],[[32,0,[\\\"isValidURL\\\"]],\\\"valid\\\",\\\"\\\"],null],\\\"c-url\\\"]]]],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"p\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"c-github-uid\\\"],[12],[2,\\\"GitHub UID\\\"],[13],[2,\\\"\\\\n \\\"],[1,[30,[36,4],null,[[\\\"name\\\",\\\"type\\\",\\\"value\\\",\\\"placeholder\\\",\\\"class\\\",\\\"id\\\"],[\\\"github_uid\\\",\\\"text\\\",[32,0,[\\\"github_uid\\\"]],\\\"2342\\\",[30,[36,1],[[32,0,[\\\"isValidGithubUID\\\"]],\\\"valid\\\",\\\"\\\"],null],\\\"c-github-uid\\\"]]]],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"p\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"c-github-username\\\"],[12],[2,\\\"GitHub username\\\"],[13],[2,\\\"\\\\n \\\"],[1,[30,[36,4],null,[[\\\"name\\\",\\\"type\\\",\\\"value\\\",\\\"placeholder\\\",\\\"class\\\",\\\"id\\\"],[\\\"github_username\\\",\\\"text\\\",[32,0,[\\\"github_username\\\"]],\\\"zerocool\\\",[30,[36,1],[[32,0,[\\\"isValidGithubUsername\\\"]],\\\"valid\\\",\\\"\\\"],null],\\\"c-github-username\\\"]]]],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"p\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"c-gitea-username\\\"],[12],[2,\\\"Gitea username\\\"],[13],[2,\\\"\\\\n \\\"],[1,[30,[36,4],null,[[\\\"name\\\",\\\"type\\\",\\\"value\\\",\\\"placeholder\\\",\\\"class\\\",\\\"id\\\"],[\\\"gitea_username\\\",\\\"text\\\",[32,0,[\\\"gitea_username\\\"]],\\\"zerocool\\\",[30,[36,1],[[32,0,[\\\"isValidGiteaUsername\\\"]],\\\"valid\\\",\\\"\\\"],null],\\\"c-gitea-username\\\"]]]],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"p\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"c-wiki-username\\\"],[12],[2,\\\"Wiki username\\\"],[13],[2,\\\"\\\\n \\\"],[1,[30,[36,4],null,[[\\\"name\\\",\\\"type\\\",\\\"value\\\",\\\"placeholder\\\",\\\"class\\\",\\\"id\\\"],[\\\"wiki_username\\\",\\\"text\\\",[32,0,[\\\"wiki_username\\\"]],\\\"ZeroCool\\\",[30,[36,1],[[32,0,[\\\"isValidWikiUsername\\\"]],\\\"valid\\\",\\\"\\\"],null],\\\"c-wiki-username\\\"]]]],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"p\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"c-zoom-display-name\\\"],[12],[2,\\\"Zoom display name\\\"],[13],[2,\\\"\\\\n \\\"],[1,[30,[36,4],null,[[\\\"name\\\",\\\"type\\\",\\\"value\\\",\\\"placeholder\\\",\\\"class\\\",\\\"id\\\"],[\\\"zoom_display_name\\\",\\\"text\\\",[32,0,[\\\"zoom_display_name\\\"]],\\\"Zero Cool\\\",[30,[36,1],[[32,0,[\\\"isValidZoomDisplayName\\\"]],\\\"valid\\\",\\\"\\\"],null],\\\"c-zoom-display-name\\\"]]]],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"p\\\"],[14,0,\\\"actions\\\"],[12],[2,\\\"\\\\n \\\"],[1,[30,[36,4],null,[[\\\"type\\\",\\\"disabled\\\",\\\"value\\\"],[\\\"submit\\\",[32,0,[\\\"inProgress\\\"]],[30,[36,1],[[32,0,[\\\"inProgress\\\"]],\\\"Processing\\\",\\\"Save\\\"],null]]]]],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n\\\"],[13],[2,\\\"\\\\n\\\"]],\\\"hasEval\\\":false,\\\"upvars\\\":[\\\"action\\\",\\\"if\\\",\\\"mut\\\",\\\"eq\\\",\\\"input\\\"]}\",\n \"meta\": {\n \"moduleName\": \"kredits-web/components/add-contributor/template.hbs\"\n }\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/components/add-expense-item/template\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.HTMLBars.template({\n \"id\": \"xrdEJbVd\",\n \"block\": \"{\\\"symbols\\\":[\\\"currency\\\"],\\\"statements\\\":[[11,\\\"form\\\"],[24,1,\\\"add-expense-item\\\"],[24,\\\"novalidate\\\",\\\"\\\"],[4,[38,1],[\\\"submit\\\",[32,0,[\\\"submit\\\"]]],null],[12],[2,\\\"\\\\n \\\"],[10,\\\"fieldset\\\"],[14,0,\\\"horizontal\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"label\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"p\\\"],[14,0,\\\"label\\\"],[12],[2,\\\"Amount:\\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"p\\\"],[12],[2,\\\"\\\\n \\\"],[8,\\\"input\\\",[],[[\\\"@name\\\",\\\"@type\\\",\\\"@placeholder\\\",\\\"@value\\\",\\\"@required\\\",\\\"@pattern\\\",\\\"@class\\\"],[\\\"expense-amount\\\",\\\"text\\\",\\\"10\\\",[32,0,[\\\"amount\\\"]],true,\\\"([0-9]*[.])?[0-9]+\\\",[32,0,[\\\"amountInputClass\\\"]]]],null],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"label\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"p\\\"],[14,0,\\\"label\\\"],[12],[2,\\\"Currency:\\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"p\\\"],[12],[2,\\\"\\\\n \\\"],[11,\\\"select\\\"],[24,\\\"required\\\",\\\"\\\"],[24,3,\\\"expense-currency\\\"],[4,[38,1],[\\\"change\\\",[32,0,[\\\"updateCurrency\\\"]]],null],[12],[2,\\\"\\\\n \\\"],[10,\\\"option\\\"],[14,2,\\\"\\\"],[14,\\\"selected\\\",\\\"\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,\\\"hidden\\\",\\\"\\\"],[12],[13],[2,\\\"\\\\n\\\"],[6,[37,3],[[30,[36,2],[[30,[36,2],[[32,0,[\\\"currencies\\\"]]],null]],null]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\" \\\"],[10,\\\"option\\\"],[15,2,[32,1,[\\\"code\\\"]]],[15,\\\"selected\\\",[30,[36,0],[[32,0,[\\\"currency\\\"]],[32,1,[\\\"code\\\"]]],null]],[12],[1,[32,1,[\\\"code\\\"]]],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[1]}]]],[2,\\\" \\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"label\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"p\\\"],[14,0,\\\"label\\\"],[12],[2,\\\"Date:\\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"p\\\"],[12],[2,\\\"\\\\n \\\"],[8,\\\"ember-flatpickr\\\",[],[[\\\"@date\\\",\\\"@defaultDate\\\",\\\"@maxDate\\\",\\\"@enableTime\\\",\\\"@onChange\\\"],[[32,0,[\\\"date\\\"]],[32,0,[\\\"defaultDate\\\"]],[32,0,[\\\"defaultDate\\\"]],false,[30,[36,5],[[30,[36,4],[[32,0,[\\\"date\\\"]]],null]],null]]],null],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"label\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"p\\\"],[14,0,\\\"label\\\"],[12],[2,\\\"Title:\\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"p\\\"],[12],[2,\\\"\\\\n \\\"],[8,\\\"input\\\",[],[[\\\"@name\\\",\\\"@type\\\",\\\"@value\\\",\\\"@required\\\"],[\\\"expense-title\\\",\\\"text\\\",[32,0,[\\\"title\\\"]],true]],null],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"label\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"p\\\"],[14,0,\\\"label\\\"],[12],[2,\\\"Description (optional):\\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"p\\\"],[12],[2,\\\"\\\\n \\\"],[8,\\\"input\\\",[],[[\\\"@name\\\",\\\"@type\\\",\\\"@value\\\"],[\\\"expense-description\\\",\\\"text\\\",[32,0,[\\\"description\\\"]]]],null],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"label\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"p\\\"],[14,0,\\\"label\\\"],[12],[2,\\\"URL (optional):\\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"p\\\"],[12],[2,\\\"\\\\n \\\"],[8,\\\"input\\\",[],[[\\\"@name\\\",\\\"@type\\\",\\\"@value\\\"],[\\\"expense-url\\\",\\\"url\\\",[32,0,[\\\"url\\\"]]]],null],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"label\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"p\\\"],[14,0,\\\"label\\\"],[12],[2,\\\"Tags (comma-separated, optional):\\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"p\\\"],[12],[2,\\\"\\\\n \\\"],[8,\\\"input\\\",[],[[\\\"@name\\\",\\\"@type\\\",\\\"@value\\\"],[\\\"expense-tags\\\",\\\"text\\\",[32,0,[\\\"tags\\\"]]]],null],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n\\\\n \\\"],[10,\\\"p\\\"],[14,0,\\\"actions\\\"],[12],[2,\\\"\\\\n \\\"],[8,\\\"input\\\",[],[[\\\"@type\\\",\\\"@value\\\",\\\"@class\\\",\\\"@title\\\"],[\\\"submit\\\",\\\"Add\\\",\\\"green\\\",\\\"Add item to reimbursement\\\"]],null],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n\\\"],[13]],\\\"hasEval\\\":false,\\\"upvars\\\":[\\\"eq\\\",\\\"on\\\",\\\"-track-array\\\",\\\"each\\\",\\\"mut\\\",\\\"fn\\\"]}\",\n \"meta\": {\n \"moduleName\": \"kredits-web/components/add-expense-item/template.hbs\"\n }\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/components/add-reimbursement/template\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.HTMLBars.template({\n \"id\": \"GxxUddPT\",\n \"block\": \"{\\\"symbols\\\":[\\\"contributor\\\"],\\\"statements\\\":[[11,\\\"form\\\"],[24,\\\"novalidate\\\",\\\"\\\"],[4,[38,1],[\\\"submit\\\",[32,0,[\\\"submit\\\"]]],null],[12],[2,\\\"\\\\n \\\"],[10,\\\"label\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"p\\\"],[14,0,\\\"label\\\"],[12],[2,\\\"Contributor:\\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"p\\\"],[12],[2,\\\"\\\\n \\\"],[11,\\\"select\\\"],[24,\\\"required\\\",\\\"\\\"],[4,[38,1],[\\\"change\\\",[32,0,[\\\"updateContributor\\\"]]],null],[12],[2,\\\"\\\\n \\\"],[10,\\\"option\\\"],[14,2,\\\"\\\"],[14,\\\"selected\\\",\\\"\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,\\\"hidden\\\",\\\"\\\"],[12],[13],[2,\\\"\\\\n\\\"],[6,[37,4],[[30,[36,3],[[30,[36,3],[[32,0,[\\\"contributors\\\"]]],null]],null]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\" \\\"],[10,\\\"option\\\"],[15,2,[32,1,[\\\"id\\\"]]],[15,\\\"selected\\\",[30,[36,2],[[32,0,[\\\"contributorId\\\"]],[32,1,[\\\"id\\\"]]],null]],[12],[1,[32,1,[\\\"name\\\"]]],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[1]}]]],[2,\\\" \\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"fieldset\\\"],[14,0,\\\"horizontal thirds total-amounts\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"label\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"p\\\"],[14,0,\\\"label\\\"],[12],[2,\\\"Total amount (BTC):\\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"p\\\"],[12],[2,\\\"\\\\n \\\"],[8,\\\"input\\\",[],[[\\\"@type\\\",\\\"@placeholder\\\",\\\"@value\\\",\\\"@required\\\",\\\"@pattern\\\",\\\"@class\\\"],[\\\"text\\\",\\\"0.0015\\\",[32,0,[\\\"total\\\"]],true,\\\"([0-9]*[.])?[0-9]+\\\",[32,0,[\\\"totalInputClass\\\"]]]],null],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"label\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"p\\\"],[14,0,\\\"label\\\"],[12],[2,\\\"EUR total\\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"p\\\"],[12],[2,\\\"\\\\n \\\"],[8,\\\"input\\\",[],[[\\\"@type\\\",\\\"@name\\\",\\\"@value\\\",\\\"@disabled\\\"],[\\\"text\\\",\\\"total-eur\\\",[32,0,[\\\"totalEUR\\\"]],true]],null],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"label\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"p\\\"],[14,0,\\\"label\\\"],[12],[2,\\\"USD total\\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"p\\\"],[12],[2,\\\"\\\\n \\\"],[8,\\\"input\\\",[],[[\\\"@type\\\",\\\"@name\\\",\\\"@value\\\",\\\"@disabled\\\"],[\\\"text\\\",\\\"total-usd\\\",[32,0,[\\\"totalUSD\\\"]],true]],null],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n\\\\n \\\"],[10,\\\"h3\\\"],[12],[2,\\\"Expense items\\\"],[13],[2,\\\"\\\\n\\\"],[6,[37,5],[[32,0,[\\\"expenses\\\"]]],null,[[\\\"default\\\",\\\"else\\\"],[{\\\"statements\\\":[[2,\\\" \\\"],[8,\\\"expense-list\\\",[],[[\\\"@expenses\\\",\\\"@removeExpenseItem\\\",\\\"@deletable\\\"],[[32,0,[\\\"expenses\\\"]],[32,0,[\\\"removeExpenseItem\\\"]],true]],null],[2,\\\"\\\\n\\\\n \\\"],[10,\\\"p\\\"],[14,0,\\\"actions\\\"],[12],[2,\\\"\\\\n \\\"],[11,\\\"button\\\"],[24,0,\\\"green small\\\"],[24,4,\\\"button\\\"],[4,[38,1],[\\\"click\\\",[32,0,[\\\"showExpenseForm\\\"]]],null],[12],[2,\\\"+ Add another item\\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[2,\\\" \\\"],[10,\\\"p\\\"],[12],[2,\\\"No line items yet.\\\"],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]]],[2,\\\"\\\\n \\\"],[10,\\\"p\\\"],[14,0,\\\"actions\\\"],[12],[2,\\\"\\\\n\\\"],[6,[37,5],[[32,0,[\\\"inProgress\\\"]]],null,[[\\\"default\\\",\\\"else\\\"],[{\\\"statements\\\":[[2,\\\" \\\"],[8,\\\"input\\\",[],[[\\\"@type\\\",\\\"@value\\\",\\\"@disabled\\\",\\\"@title\\\"],[\\\"submit\\\",\\\"Submitting...\\\",true,\\\"Submit/propose this reimbursement\\\"]],null],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[2,\\\" \\\"],[8,\\\"input\\\",[],[[\\\"@type\\\",\\\"@value\\\",\\\"@disabled\\\",\\\"@title\\\"],[\\\"submit\\\",\\\"Submit\\\",[32,0,[\\\"submitButtonDisabled\\\"]],\\\"Submit/propose this reimbursement\\\"]],null],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]]],[2,\\\" \\\"],[13],[2,\\\"\\\\n\\\\n\\\"],[6,[37,5],[[32,0,[\\\"expenseFormVisible\\\"]]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\" \\\"],[10,\\\"h3\\\"],[14,1,\\\"new-expense-item\\\"],[12],[2,\\\"New expense item\\\"],[13],[2,\\\"\\\\n \\\"],[8,\\\"add-expense-item\\\",[],[[\\\"@addExpenseItem\\\"],[[30,[36,0],[[32,0,[\\\"addExpenseItem\\\"]]],null]]],null],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]]],[13],[2,\\\"\\\\n\\\"],[10,\\\"form\\\"],[14,1,\\\"add-expenses-from-file\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"h3\\\"],[12],[2,\\\"Add expense items from file\\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"input\\\"],[14,\\\"multiple\\\",\\\"false\\\"],[15,\\\"onchange\\\",[30,[36,0],[[32,0,[\\\"addExpensesFromFile\\\"]]],null]],[14,\\\"accept\\\",\\\"application/json\\\"],[14,4,\\\"file\\\"],[12],[13],[2,\\\"\\\\n\\\"],[13],[2,\\\"\\\\n\\\"]],\\\"hasEval\\\":false,\\\"upvars\\\":[\\\"fn\\\",\\\"on\\\",\\\"eq\\\",\\\"-track-array\\\",\\\"each\\\",\\\"if\\\"]}\",\n \"meta\": {\n \"moduleName\": \"kredits-web/components/add-reimbursement/template.hbs\"\n }\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/components/budget-balances/template\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.HTMLBars.template({\n \"id\": \"Ss15QE7U\",\n \"block\": \"{\\\"symbols\\\":[\\\"balance\\\"],\\\"statements\\\":[[10,\\\"table\\\"],[15,0,[31,[\\\"token-balances \\\",[30,[36,0],[[32,0,[\\\"loading\\\"]],\\\"loading\\\"],null]]]],[12],[2,\\\"\\\\n \\\"],[10,\\\"thead\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"tr\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"th\\\"],[12],[2,\\\"Token\\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"th\\\"],[12],[2,\\\"Amount\\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"th\\\"],[12],[2,\\\"Fiat value\\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"tbody\\\"],[12],[2,\\\"\\\\n\\\"],[6,[37,2],[[30,[36,1],[[30,[36,1],[[32,0,[\\\"balances\\\"]]],null]],null]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\" \\\"],[10,\\\"tr\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"th\\\"],[12],[1,[32,1,[\\\"token\\\",\\\"symbol\\\"]]],[13],[2,\\\"\\\\n \\\"],[10,\\\"td\\\"],[14,0,\\\"amount\\\"],[12],[1,[32,1,[\\\"confirmed_balance\\\"]]],[13],[2,\\\"\\\\n \\\"],[10,\\\"td\\\"],[14,0,\\\"fiat-amount\\\"],[12],[2,\\\"~\\\"],[1,[32,1,[\\\"balanceUSD\\\"]]],[2,\\\" USD\\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[1]}]]],[2,\\\" \\\"],[13],[2,\\\"\\\\n\\\"],[13]],\\\"hasEval\\\":false,\\\"upvars\\\":[\\\"if\\\",\\\"-track-array\\\",\\\"each\\\"]}\",\n \"meta\": {\n \"moduleName\": \"kredits-web/components/budget-balances/template.hbs\"\n }\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/components/chart-contributions-by-type/component\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n var categoryColors = {\n community: \"#fb6868\",\n design: \"#fbe468\",\n dev: \"#e068fb\",\n docs: \"#97fb68\",\n ops: \"#8f68fb\"\n };\n\n var _default = Ember.Component.extend({\n contributions: null,\n chartOptions: Object.freeze({\n legend: {\n display: false\n }\n }),\n chartData: Ember.computed('contributions', function () {\n var kredits = this.contributions.filterBy('vetoed', false).map(function (c) {\n return {\n kind: c.kind,\n amount: c.amount\n };\n }).reduce(function (kinds, c) {\n if (c.kind in kinds) {\n kinds[c.kind] = kinds[c.kind] + c.amount;\n } else {\n kinds[c.kind] = c.amount;\n }\n\n return kinds;\n }, {});\n return {\n datasets: [{\n data: [kredits['community'], kredits['design'], kredits['dev'], kredits['ops'], kredits['docs']],\n borderColor: [categoryColors.community, categoryColors.design, categoryColors.dev, categoryColors.ops, categoryColors.docs],\n borderWidth: 1\n }],\n labels: ['Community', 'Design', 'Development', 'Operations & Infrastructure', 'Documentation']\n };\n })\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/components/chart-contributions-by-type/template\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.HTMLBars.template({\n \"id\": \"wfd6i6On\",\n \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[10,\\\"div\\\"],[14,0,\\\"chart\\\"],[12],[2,\\\"\\\\n \\\"],[8,\\\"ember-chart\\\",[],[[\\\"@type\\\",\\\"@data\\\",\\\"@options\\\",\\\"@width\\\",\\\"@height\\\"],[\\\"doughnut\\\",[32,0,[\\\"chartData\\\"]],[32,0,[\\\"chartOptions\\\"]],\\\"200\\\",\\\"200\\\"]],null],[2,\\\"\\\\n\\\"],[13]],\\\"hasEval\\\":false,\\\"upvars\\\":[]}\",\n \"meta\": {\n \"moduleName\": \"kredits-web/components/chart-contributions-by-type/template.hbs\"\n }\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/components/confirmed-in/template\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.HTMLBars.template({\n \"id\": \"Q4nwoyU+\",\n \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[6,[37,0],[[32,0,[\\\"isConfirmed\\\"]]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\"Confirming in \\\"],[10,\\\"strong\\\"],[12],[1,[32,0,[\\\"confirmedInBlocks\\\"]]],[13],[2,\\\" blocks (~ \\\"],[1,[32,0,[\\\"confirmedInHumanTime\\\"]]],[2,\\\")\\\\n\\\"]],\\\"parameters\\\":[]}]]]],\\\"hasEval\\\":false,\\\"upvars\\\":[\\\"unless\\\"]}\",\n \"meta\": {\n \"moduleName\": \"kredits-web/components/confirmed-in/template.hbs\"\n }\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/components/contribution-list/component\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.Component.extend({\n router: Ember.inject.service(),\n tagName: 'div',\n classNames: ['contributions'],\n selectedContribution: null,\n showQuickFilter: false,\n hideSmallContributions: false,\n contributorId: null,\n contributionKind: null,\n kredits: Ember.inject.service(),\n contributorsSorting: Object.freeze(['name:asc']),\n contributors: Ember.computed.sort('kredits.contributors', 'contributorsSorting'),\n contributorsActive: Ember.computed('contributors.[]', 'contributions', function () {\n var activeIds = new Set(this.contributions.mapBy('contributorId'));\n return this.contributors.filter(function (c) {\n return activeIds.has(c.id);\n });\n }),\n contributionKinds: Ember.computed('contributions.[]', function () {\n return this.contributions.mapBy('kind').uniq();\n }),\n contributionsFiltered: Ember.computed('contributions.[]', 'hideSmallContributions', 'contributorId', 'contributionKind', function () {\n var _this = this;\n\n return this.contributions.filter(function (c) {\n var included = true;\n\n if (_this.hideSmallContributions && c.amount <= 500) {\n included = false;\n }\n\n if (Ember.isPresent(_this.contributorId) && c.contributorId !== parseInt(_this.contributorId)) {\n included = false;\n }\n\n if (Ember.isPresent(_this.contributionKind) && c.kind !== _this.contributionKind) {\n included = false;\n }\n\n return included;\n });\n }),\n actions: {\n veto: function veto(contributionId) {\n if (this.contractInteractionEnabled) {\n this.vetoContribution(contributionId);\n } else {\n window.alert('Only members can veto contributions. Please ask someone to set you up.');\n }\n },\n openContributionDetails: function openContributionDetails(contribution) {\n this.router.transitionTo('dashboard.contributions.show', contribution);\n }\n }\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/components/contribution-list/template\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.HTMLBars.template({\n \"id\": \"6QjAzyse\",\n \"block\": \"{\\\"symbols\\\":[\\\"contribution\\\",\\\"kind\\\",\\\"contributor\\\",\\\"@selectedContributionId\\\",\\\"@showQuickFilter\\\",\\\"@loading\\\"],\\\"statements\\\":[[6,[37,5],[[32,5]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\" \\\"],[10,\\\"div\\\"],[14,0,\\\"quick-filter\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"p\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"label\\\"],[14,0,\\\"filter-contributor\\\"],[12],[2,\\\"\\\\n Contributor:\\\\n \\\"],[10,\\\"select\\\"],[15,\\\"onchange\\\",[30,[36,0],[[32,0],[30,[36,8],[[32,0,[\\\"contributorId\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[12],[2,\\\"\\\\n \\\"],[10,\\\"option\\\"],[14,2,\\\"\\\"],[14,\\\"selected\\\",\\\"\\\"],[12],[2,\\\"all\\\"],[13],[2,\\\"\\\\n\\\"],[6,[37,10],[[30,[36,9],[[30,[36,9],[[32,0,[\\\"contributorsActive\\\"]]],null]],null]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\" \\\"],[10,\\\"option\\\"],[15,2,[32,3,[\\\"id\\\"]]],[15,\\\"selected\\\",[30,[36,4],[[32,0,[\\\"contributorId\\\"]],[32,3,[\\\"id\\\"]]],null]],[12],[1,[32,3,[\\\"name\\\"]]],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[3]}]]],[2,\\\" \\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n\\\\n \\\"],[10,\\\"label\\\"],[14,0,\\\"filter-contribution-kind\\\"],[12],[2,\\\"\\\\n Kind:\\\\n \\\"],[10,\\\"select\\\"],[15,\\\"onchange\\\",[30,[36,0],[[32,0],[30,[36,8],[[32,0,[\\\"contributionKind\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[12],[2,\\\"\\\\n \\\"],[10,\\\"option\\\"],[14,2,\\\"\\\"],[14,\\\"selected\\\",\\\"\\\"],[12],[2,\\\"all\\\"],[13],[2,\\\"\\\\n\\\"],[6,[37,10],[[30,[36,9],[[30,[36,9],[[32,0,[\\\"contributionKinds\\\"]]],null]],null]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\" \\\"],[10,\\\"option\\\"],[15,2,[32,2]],[15,\\\"selected\\\",[30,[36,4],[[32,0,[\\\"contributionKind\\\"]],[32,2]],null]],[12],[1,[30,[36,7],[[32,2]],null]],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[2]}]]],[2,\\\" \\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n\\\\n \\\"],[10,\\\"label\\\"],[14,0,\\\"filter-contribution-size\\\"],[12],[2,\\\"\\\\n \\\"],[8,\\\"input\\\",[],[[\\\"@type\\\",\\\"@checked\\\"],[\\\"checkbox\\\",[32,0,[\\\"hideSmallContributions\\\"]]]],null],[2,\\\"\\\\n Hide small contributions\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]]],[2,\\\"\\\\n\\\"],[10,\\\"ul\\\"],[15,0,[31,[\\\"item-list contribution-list \\\",[30,[36,5],[[32,6],\\\"loading\\\"],null]]]],[12],[2,\\\"\\\\n\\\"],[6,[37,10],[[30,[36,9],[[30,[36,9],[[32,0,[\\\"contributionsFiltered\\\"]]],null]],null]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\" \\\"],[11,\\\"li\\\"],[24,\\\"role\\\",\\\"button\\\"],[16,\\\"data-contribution-id\\\",[32,1,[\\\"id\\\"]]],[16,0,[31,[[30,[36,6],[[32,1]],null],[30,[36,5],[[30,[36,4],[[32,1,[\\\"id\\\"]],[32,4]],null],\\\" selected\\\"],null]]]],[4,[38,0],[[32,0],\\\"openContributionDetails\\\",[32,1]],null],[12],[2,\\\"\\\\n \\\"],[10,\\\"p\\\"],[14,0,\\\"meta\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"span\\\"],[14,0,\\\"recipient\\\"],[12],[8,\\\"user-avatar\\\",[],[[\\\"@contributor\\\"],[[32,1,[\\\"contributor\\\"]]]],null],[13],[2,\\\"\\\\n \\\"],[10,\\\"span\\\"],[15,0,[31,[\\\"category \\\",[32,1,[\\\"kind\\\"]]]]],[12],[2,\\\"(\\\"],[1,[32,1,[\\\"kind\\\"]]],[2,\\\")\\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"span\\\"],[14,0,\\\"title\\\"],[12],[1,[32,1,[\\\"description\\\"]]],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"p\\\"],[14,0,\\\"kredits-amount\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"span\\\"],[14,0,\\\"amount\\\"],[12],[1,[32,1,[\\\"amount\\\"]]],[13],[10,\\\"span\\\"],[14,0,\\\"symbol\\\"],[12],[2,\\\"₭S\\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n\\\"],[6,[37,3],[[32,1,[\\\"vetoed\\\"]]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[6,[37,3],[[30,[36,2],[[32,1]],null]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\" \\\"],[10,\\\"p\\\"],[14,0,\\\"voting\\\"],[12],[2,\\\"\\\\n \\\"],[1,[30,[36,1],null,[[\\\"type\\\",\\\"class\\\",\\\"value\\\",\\\"click\\\",\\\"disabled\\\"],[\\\"button\\\",\\\"button small danger\\\",\\\"veto\\\",[30,[36,0],[[32,0],\\\"veto\\\",[32,1,[\\\"id\\\"]]],null],[32,1,[\\\"hasPendingChanges\\\"]]]]]],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]]]],\\\"parameters\\\":[]}]]],[2,\\\" \\\"],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[1]}]]],[13]],\\\"hasEval\\\":false,\\\"upvars\\\":[\\\"action\\\",\\\"input\\\",\\\"is-confirmed-contribution\\\",\\\"unless\\\",\\\"eq\\\",\\\"if\\\",\\\"item-status\\\",\\\"capitalize-string\\\",\\\"mut\\\",\\\"-track-array\\\",\\\"each\\\"]}\",\n \"meta\": {\n \"moduleName\": \"kredits-web/components/contribution-list/template.hbs\"\n }\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/components/contributor-list/component\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.Component.extend({\n tagName: '',\n router: Ember.inject.service(),\n selectedContributorId: null,\n actions: {\n openContributorDetails: function openContributorDetails(contributor) {\n this.router.transitionTo('dashboard.contributors.show', contributor);\n }\n }\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/components/contributor-list/template\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.HTMLBars.template({\n \"id\": \"H19rOGuf\",\n \"block\": \"{\\\"symbols\\\":[\\\"c\\\",\\\"@selectedContributorId\\\",\\\"@showUnconfirmedKredits\\\",\\\"@loading\\\",\\\"@contributorList\\\"],\\\"statements\\\":[[10,\\\"table\\\"],[15,0,[31,[\\\"contributor-list \\\",[30,[36,2],[[32,4],\\\"loading\\\"],null]]]],[12],[2,\\\"\\\\n \\\"],[10,\\\"thead\\\"],[12],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"tbody\\\"],[12],[2,\\\"\\\\n\\\"],[6,[37,5],[[30,[36,4],[[30,[36,4],[[32,5]],null]],null]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\" \\\"],[10,\\\"tr\\\"],[14,\\\"role\\\",\\\"button\\\"],[15,\\\"onclick\\\",[30,[36,0],[[32,0],\\\"openContributorDetails\\\",[32,1,[\\\"contributor\\\"]]],null]],[15,0,[31,[[30,[36,2],[[30,[36,3],[[32,1,[\\\"contributor\\\"]]],null],\\\"current-user\\\"],null],\\\" \\\",[30,[36,2],[[30,[36,1],[[32,1,[\\\"contributor\\\",\\\"id\\\"]],[32,2]],null],\\\"selected\\\"],null]]]],[12],[2,\\\"\\\\n \\\"],[10,\\\"td\\\"],[14,0,\\\"person\\\"],[12],[2,\\\"\\\\n \\\"],[8,\\\"user-avatar\\\",[],[[\\\"@contributor\\\"],[[32,1,[\\\"contributor\\\"]]]],null],[2,\\\" \\\"],[1,[32,1,[\\\"contributor\\\",\\\"name\\\"]]],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"td\\\"],[14,0,\\\"kredits\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"span\\\"],[14,0,\\\"amount\\\"],[12],[2,\\\"\\\\n\\\"],[6,[37,2],[[32,3]],null,[[\\\"default\\\",\\\"else\\\"],[{\\\"statements\\\":[[2,\\\" \\\"],[1,[32,1,[\\\"amountTotal\\\"]]],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[2,\\\" \\\"],[1,[32,1,[\\\"amountConfirmed\\\"]]],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]]],[2,\\\" \\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"span\\\"],[14,0,\\\"symbol\\\"],[12],[2,\\\"₭S\\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[1]}]]],[2,\\\" \\\"],[13],[2,\\\"\\\\n\\\"],[13],[2,\\\"\\\\n\\\"]],\\\"hasEval\\\":false,\\\"upvars\\\":[\\\"action\\\",\\\"eq\\\",\\\"if\\\",\\\"is-current-user\\\",\\\"-track-array\\\",\\\"each\\\"]}\",\n \"meta\": {\n \"moduleName\": \"kredits-web/components/contributor-list/template.hbs\"\n }\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/components/ember-chart\", [\"exports\", \"ember-cli-chart/components/ember-chart\"], function (_exports, _emberChart) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n var _default = _emberChart.default;\n _exports.default = _default;\n});","define(\"kredits-web/components/ember-flatpickr\", [\"exports\", \"ember-flatpickr/components/ember-flatpickr\"], function (_exports, _emberFlatpickr) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function get() {\n return _emberFlatpickr.default;\n }\n });\n});","define(\"kredits-web/components/expense-list/template\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.HTMLBars.template({\n \"id\": \"Vj8N2eKw\",\n \"block\": \"{\\\"symbols\\\":[\\\"expense\\\",\\\"tag\\\",\\\"@removeExpenseItem\\\",\\\"@expenses\\\"],\\\"statements\\\":[[10,\\\"ul\\\"],[14,0,\\\"expense-list\\\"],[12],[2,\\\"\\\\n\\\"],[6,[37,5],[[30,[36,4],[[30,[36,4],[[32,4]],null]],null]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\" \\\"],[10,\\\"li\\\"],[14,0,\\\"expense-item\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"h4\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"span\\\"],[14,0,\\\"date\\\"],[12],[1,[30,[36,2],[[32,1,[\\\"date\\\"]]],null]],[2,\\\":\\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"span\\\"],[14,0,\\\"title\\\"],[12],[1,[32,1,[\\\"title\\\"]]],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"div\\\"],[14,0,\\\"amount\\\"],[12],[2,\\\"\\\\n \\\"],[1,[30,[36,3],[[32,1,[\\\"amount\\\"]],[32,1,[\\\"currency\\\"]]],null]],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"p\\\"],[14,0,\\\"description\\\"],[12],[2,\\\"\\\\n \\\"],[1,[32,1,[\\\"description\\\"]]],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"p\\\"],[14,0,\\\"tags\\\"],[12],[2,\\\"\\\\n\\\"],[6,[37,5],[[30,[36,4],[[30,[36,4],[[32,1,[\\\"tags\\\"]]],null]],null]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\" \\\"],[10,\\\"button\\\"],[14,0,\\\"small yellow\\\"],[14,\\\"role\\\",\\\"none\\\"],[14,4,\\\"button\\\"],[12],[2,\\\"\\\\n \\\"],[8,\\\"icon-tag\\\",[],[[],[]],null],[1,[32,2]],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[2]}]]],[2,\\\" \\\"],[13],[2,\\\"\\\\n\\\"],[6,[37,6],[[32,0,[\\\"showDeleteButton\\\"]]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\" \\\"],[10,\\\"div\\\"],[14,0,\\\"actions\\\"],[12],[2,\\\"\\\\n \\\"],[11,\\\"button\\\"],[24,0,\\\"danger small\\\"],[24,4,\\\"button\\\"],[4,[38,1],[\\\"click\\\",[30,[36,0],[[32,3],[32,1]],null]],null],[12],[2,\\\"delete\\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]]],[2,\\\" \\\"],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[1]}]]],[13],[2,\\\"\\\\n\\\"]],\\\"hasEval\\\":false,\\\"upvars\\\":[\\\"fn\\\",\\\"on\\\",\\\"fmt-date-localized\\\",\\\"fmt-fiat-currency\\\",\\\"-track-array\\\",\\\"each\\\",\\\"if\\\"]}\",\n \"meta\": {\n \"moduleName\": \"kredits-web/components/expense-list/template.hbs\"\n }\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/components/external-account-link/component\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.Component.extend({\n tagName: \"\",\n account: null,\n iconComponentName: Ember.computed('account.site', function () {\n if (this.account.site.match(/github|gitea|wiki|zoom/)) {\n return 'icon-account-' + this.account.site.replace(/\\./g, '-');\n } else {\n return 'icon-web-globe';\n }\n })\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/components/external-account-link/template\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.HTMLBars.template({\n \"id\": \"rwjEP1kx\",\n \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[10,\\\"a\\\"],[15,6,[32,0,[\\\"account\\\",\\\"url\\\"]]],[14,\\\"target\\\",\\\"_blank\\\"],[14,\\\"rel\\\",\\\"noopener noreferrer\\\"],[15,\\\"title\\\",[31,[[32,0,[\\\"account\\\",\\\"username\\\"]],\\\" on \\\",[32,0,[\\\"account\\\",\\\"site\\\"]]]]],[12],[2,\\\"\\\\n \\\"],[10,\\\"span\\\"],[14,0,\\\"site\\\"],[12],[1,[32,0,[\\\"account\\\",\\\"site\\\"]]],[13],[2,\\\"\\\\n \\\"],[1,[30,[36,0],[[32,0,[\\\"iconComponentName\\\"]]],null]],[2,\\\"\\\\n\\\"],[13]],\\\"hasEval\\\":false,\\\"upvars\\\":[\\\"component\\\"]}\",\n \"meta\": {\n \"moduleName\": \"kredits-web/components/external-account-link/template.hbs\"\n }\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/components/loading-spinner/component\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.Component.extend({\n classNames: ['loading-spinner']\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/components/loading-spinner/template\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.HTMLBars.template({\n \"id\": \"RDvW8Yf/\",\n \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[10,\\\"p\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"svg\\\"],[14,\\\"xmlns\\\",\\\"http://www.w3.org/2000/svg\\\",\\\"http://www.w3.org/2000/xmlns/\\\"],[14,\\\"xmlns:xlink\\\",\\\"http://www.w3.org/1999/xlink\\\",\\\"http://www.w3.org/2000/xmlns/\\\"],[14,\\\"version\\\",\\\"1.1\\\"],[14,\\\"x\\\",\\\"0px\\\"],[14,\\\"y\\\",\\\"0px\\\"],[14,\\\"viewBox\\\",\\\"0 0 132 100\\\"],[14,\\\"enable-background\\\",\\\"new 0 0 100 100\\\"],[14,\\\"xml:space\\\",\\\"preserve\\\",\\\"http://www.w3.org/XML/1998/namespace\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"path\\\"],[14,1,\\\"path-comet\\\"],[14,\\\"d\\\",\\\"M79.062,24.173L79.062,24.173l-0.021-0.011c-0.068-0.03-0.137-0.062-0.204-0.093L42.392,7.337\\\\n c0,0,3.065,14.104,4.458,18.019l0,0c0,0-41.754-12.481-46.85-13.67c1.67,6.52,30.607,62.492,30.607,62.492\\\\n c5.848,11.873,19.394,18.485,33.522,18.485c19.811,0,35.87-16.059,35.87-35.869C100,42.313,91.418,29.837,79.062,24.173z\\\"],[12],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n\\\"],[13],[2,\\\"\\\\n\\\"],[10,\\\"p\\\"],[12],[2,\\\"\\\\n Loading data...\\\\n\\\"],[13],[2,\\\"\\\\n\\\"]],\\\"hasEval\\\":false,\\\"upvars\\\":[]}\",\n \"meta\": {\n \"moduleName\": \"kredits-web/components/loading-spinner/template.hbs\"\n }\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/components/reimbursement-list/template\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.HTMLBars.template({\n \"id\": \"/SHVSc1V\",\n \"block\": \"{\\\"symbols\\\":[\\\"reimbursement\\\",\\\"@loading\\\"],\\\"statements\\\":[[10,\\\"ul\\\"],[15,0,[31,[\\\"item-list spaced reimbursement-list \\\",[30,[36,4],[[32,2],\\\"loading\\\"],null]]]],[12],[2,\\\"\\\\n\\\"],[6,[37,6],[[30,[36,5],[[30,[36,5],[[32,0,[\\\"itemsSorted\\\"]]],null]],null]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\" \\\"],[10,\\\"li\\\"],[15,\\\"data-reimbursement-id\\\",[32,1,[\\\"id\\\"]]],[15,0,[31,[[30,[36,2],[[32,1]],null]]]],[12],[2,\\\"\\\\n \\\"],[10,\\\"p\\\"],[14,0,\\\"meta\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"span\\\"],[14,0,\\\"recipient\\\"],[12],[2,\\\"\\\\n \\\"],[8,\\\"user-avatar\\\",[],[[\\\"@contributor\\\"],[[32,1,[\\\"contributor\\\"]]]],null],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"span\\\"],[14,0,\\\"title\\\"],[12],[2,\\\"\\\\n Expenses covered by \\\"],[1,[32,1,[\\\"contributor\\\",\\\"name\\\"]]],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"p\\\"],[14,0,\\\"token-amount\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"span\\\"],[14,0,\\\"amount\\\"],[12],[2,\\\"\\\\n \\\"],[1,[30,[36,3],[[32,1,[\\\"amount\\\"]]],null]],[13],[2,\\\" \\\"],[10,\\\"span\\\"],[14,0,\\\"symbol\\\"],[12],[2,\\\"BTC\\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n\\\\n \\\"],[8,\\\"expense-list\\\",[],[[\\\"@expenses\\\"],[[32,1,[\\\"expenses\\\"]]]],null],[2,\\\"\\\\n\\\\n \\\"],[10,\\\"div\\\"],[14,0,\\\"meta\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"p\\\"],[14,0,\\\"confirmation-eta\\\"],[12],[2,\\\"\\\\n \\\"],[8,\\\"confirmed-in\\\",[],[[\\\"@confirmedAtBlock\\\"],[[32,1,[\\\"confirmedAt\\\"]]]],null],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"p\\\"],[14,0,\\\"actions\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"a\\\"],[15,6,[31,[[32,0,[\\\"ipfsGatewayUrl\\\"]],\\\"/\\\",[32,1,[\\\"ipfsHash\\\"]]]]],[14,0,\\\"button small\\\"],[14,\\\"target\\\",\\\"_blank\\\"],[14,\\\"rel\\\",\\\"noopener noreferrer\\\"],[12],[2,\\\"\\\\n Inspect IPFS data\\\\n \\\"],[13],[2,\\\"\\\\n\\\"],[6,[37,4],[[32,0,[\\\"kredits\\\",\\\"currentUserIsCore\\\"]]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\" \\\"],[11,\\\"button\\\"],[16,\\\"disabled\\\",[32,1,[\\\"vetoed\\\"]]],[24,0,\\\"button small danger\\\"],[24,4,\\\"button\\\"],[4,[38,1],[\\\"click\\\",[30,[36,0],[[32,0,[\\\"veto\\\"]],[32,1,[\\\"id\\\"]]],null]],null],[12],[2,\\\"veto\\\"],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]]],[2,\\\" \\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[1]}]]],[13]],\\\"hasEval\\\":false,\\\"upvars\\\":[\\\"fn\\\",\\\"on\\\",\\\"item-status\\\",\\\"sats-to-btc\\\",\\\"if\\\",\\\"-track-array\\\",\\\"each\\\"]}\",\n \"meta\": {\n \"moduleName\": \"kredits-web/components/reimbursement-list/template.hbs\"\n }\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/components/topbar-account-panel/component\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\n function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\n var _default = Ember.Component.extend({\n tagName: '',\n kredits: Ember.inject.service(),\n router: Ember.inject.service(),\n setupInProgress: false,\n userHasEthereumWallet: Ember.computed(function () {\n return Ember.isPresent(window.ethereum);\n }),\n showConnectButton: Ember.computed('userHasEthereumWallet', 'kredits.hasAccounts', function () {\n return this.userHasEthereumWallet && !this.kredits.hasAccounts;\n }),\n actions: {\n signup: function signup() {\n this.router.transitionTo('signup');\n },\n connectAccount: function connectAccount() {\n var _this = this;\n\n return _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {\n return regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.prev = 0;\n _context.next = 3;\n return window.ethereum.enable();\n\n case 3:\n _this.set('setupInProgress', true);\n\n _context.next = 6;\n return _this.kredits.setup();\n\n case 6:\n _this.set('setupInProgress', false);\n\n _context.next = 13;\n break;\n\n case 9:\n _context.prev = 9;\n _context.t0 = _context[\"catch\"](0);\n\n _this.set('setupInProgress', false);\n\n console.log('Opening Ethereum wallet failed:', _context.t0);\n\n case 13:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, null, [[0, 9]]);\n }))();\n }\n }\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/components/topbar-account-panel/template\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.HTMLBars.template({\n \"id\": \"tHJ6yVSg\",\n \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[10,\\\"section\\\"],[14,1,\\\"user-account\\\"],[12],[2,\\\"\\\\n\\\"],[6,[37,1],[[32,0,[\\\"setupInProgress\\\"]]],null,[[\\\"default\\\",\\\"else\\\"],[{\\\"statements\\\":[[2,\\\" Connecting account...\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[6,[37,1],[[30,[36,2],[[32,0,[\\\"kredits\\\",\\\"hasAccounts\\\"]],[32,0,[\\\"kredits\\\",\\\"currentUser\\\"]]],null]],null,[[\\\"default\\\",\\\"else\\\"],[{\\\"statements\\\":[[2,\\\" \\\"],[1,[32,0,[\\\"kredits\\\",\\\"currentUser\\\",\\\"name\\\"]]],[2,\\\"\\\\n\\\"],[6,[37,1],[[32,0,[\\\"kredits\\\",\\\"currentUserIsCore\\\"]]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\" \\\"],[10,\\\"span\\\"],[14,0,\\\"core-flag\\\"],[12],[2,\\\"(core)\\\"],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]]]],\\\"parameters\\\":[]},{\\\"statements\\\":[[2,\\\" \\\"],[10,\\\"span\\\"],[14,0,\\\"anonymous\\\"],[12],[2,\\\"Anonymous\\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"button\\\"],[15,\\\"onclick\\\",[30,[36,0],[[32,0],\\\"signup\\\"],null]],[14,0,\\\"small\\\"],[14,4,\\\"button\\\"],[12],[2,\\\"Sign up\\\"],[13],[2,\\\"\\\\n\\\"],[6,[37,1],[[32,0,[\\\"showConnectButton\\\"]]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\" \\\"],[10,\\\"button\\\"],[15,\\\"onclick\\\",[30,[36,0],[[32,0],\\\"connectAccount\\\"],null]],[14,0,\\\"small green\\\"],[14,4,\\\"button\\\"],[12],[2,\\\"Connect account\\\"],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]]]],\\\"parameters\\\":[]}]]]],\\\"parameters\\\":[]}]]],[13]],\\\"hasEval\\\":false,\\\"upvars\\\":[\\\"action\\\",\\\"if\\\",\\\"and\\\"]}\",\n \"meta\": {\n \"moduleName\": \"kredits-web/components/topbar-account-panel/template.hbs\"\n }\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/components/user-avatar/component\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n var SIZES = {\n 'small': '128',\n // pixels\n 'medium': '256',\n 'large': '512'\n };\n\n var _default = Ember.Component.extend({\n contributor: null,\n tagName: 'img',\n classNames: ['avatar'],\n classNameBindings: ['size'],\n attributeBindings: ['src', 'title'],\n size: 'small',\n src: Ember.computed.alias('avatarURL'),\n title: Ember.computed.alias('contributor.name'),\n avatarURL: Ember.computed('contributor.github_uid', 'size', function () {\n var github_uid = this.contributor.github_uid;\n\n if (github_uid) {\n return \"https://avatars2.githubusercontent.com/u/\".concat(github_uid, \"?v=3&s=\").concat(SIZES[this.size]);\n } else {\n // TODO use custom avatar\n return '';\n }\n })\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/components/user-avatar/template\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.HTMLBars.template({\n \"id\": \"PL5L75/g\",\n \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[],\\\"hasEval\\\":false,\\\"upvars\\\":[]}\",\n \"meta\": {\n \"moduleName\": \"kredits-web/components/user-avatar/template.hbs\"\n }\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/controllers/application\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.Controller.extend({\n kredits: Ember.inject.service()\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/controllers/contributions/new\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.Controller.extend({\n kredits: Ember.inject.service(),\n queryParams: ['contributorId', 'kind', 'amount'],\n contributors: Ember.computed.alias('kredits.contributors'),\n minedContributors: Ember.computed.filterBy('contributors', 'id'),\n contributorsSorting: Object.freeze(['name:asc']),\n sortedContributors: Ember.computed.sort('minedContributors', 'contributorsSorting'),\n actions: {\n save: function save(contribution) {\n var _this = this;\n\n var contributor = this.contributors.findBy('id', contribution.contributorId);\n contribution.contributorIpfsHash = contributor.ipfsHash;\n return this.kredits.addContribution(contribution).then(function (contribution) {\n _this.transitionToRoute('index');\n\n return contribution;\n });\n }\n }\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/controllers/contributions/resubmit\", [\"exports\", \"kredits-web/controllers/contributions/new\"], function (_exports, _new) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = _new.default.extend({\n attributes: null\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/controllers/contributors/edit\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.Controller.extend({\n kredits: Ember.inject.service(),\n actions: {\n save: function save(attributes) {\n return this.kredits.updateContributor(this.model.id, attributes);\n }\n }\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/controllers/contributors/new\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.Controller.extend({\n kredits: Ember.inject.service(),\n actions: {\n save: function save(contributor) {\n return this.kredits.addContributor(contributor);\n }\n }\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/controllers/dashboard\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.Controller.extend({\n kredits: Ember.inject.service(),\n showDetailsPane: false,\n selectedContributorId: null,\n selectedContributionId: null,\n currentBlock: Ember.computed.alias('kredits.currentBlock'),\n contributions: Ember.computed.alias('kredits.contributions'),\n contributionsConfirmed: Ember.computed.alias('kredits.contributionsConfirmed'),\n contributionsUnconfirmed: Ember.computed.alias('kredits.contributionsUnconfirmed'),\n contributionsSorting: Object.freeze(['date:desc', 'time:desc', 'id:desc']),\n contributionsUnconfirmedSorted: Ember.computed.sort('contributionsUnconfirmed', 'contributionsSorting'),\n contributionsConfirmedSorted: Ember.computed.sort('contributionsConfirmed', 'contributionsSorting'),\n kreditsByContributor: Ember.computed.alias('kredits.kreditsByContributor'),\n kreditsToplistSorting: Ember.computed('showUnconfirmedKredits', function () {\n return this.showUnconfirmedKredits ? ['amountTotal:desc'] : ['amountConfirmed:desc'];\n }),\n kreditsToplist: Ember.computed.sort('kreditsByContributor', 'kreditsToplistSorting'),\n showUnconfirmedKredits: true,\n hideUnconfirmedKredits: Ember.computed.not('showUnconfirmedKredits'),\n showQuickFilterUnconfirmed: false,\n showQuickFilterConfirmed: false,\n showFullContributionSync: Ember.computed.gt('kredits.missingHistoricContributionsCount', 0),\n showIntroText: Ember.computed('kredits.{hasAccounts,currentUser}', function () {\n return !this.kredits.hasAccounts || !this.kredits.currentUser;\n }),\n actions: {\n vetoContribution: function vetoContribution(contributionId) {\n this.kredits.veto(contributionId).then(function (transaction) {\n console.debug('[controllers:index] Veto submitted to chain: ' + transaction.hash);\n });\n },\n toggleQuickFilterUnconfirmed: function toggleQuickFilterUnconfirmed() {\n this.toggleProperty('showQuickFilterUnconfirmed');\n },\n toggleQuickFilterConfirmed: function toggleQuickFilterConfirmed() {\n this.toggleProperty('showQuickFilterConfirmed');\n }\n }\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/controllers/dashboard/contributions/show\", [\"exports\", \"kredits-web/config/environment\"], function (_exports, _environment) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.Controller.extend({\n ipfsGatewayUrl: Ember.computed(function () {\n return _environment.default.ipfs.gatewayUrl;\n })\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/controllers/dashboard/contributors/show\", [\"exports\", \"kredits-web/config/environment\"], function (_exports, _environment) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.Controller.extend({\n roleName: Ember.computed('model.isCore', 'totalKreditsEarned', function () {\n if (this.model.isCore) return 'Core Contributor';\n if (this.model.totalKreditsEarned <= 5000) return 'Newcomer';\n return 'Contributor';\n }),\n ipfsGatewayUrl: Ember.computed(function () {\n return _environment.default.ipfs.gatewayUrl;\n })\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/controllers/signup/eth-account\", [\"exports\", \"web3-utils\", \"kredits-web/config/environment\"], function (_exports, _web3Utils, _environment) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.Controller.extend({\n kredits: Ember.inject.service(),\n ethAddress: null,\n githubAccessToken: Ember.computed.alias('kredits.githubAccessToken'),\n isValidEthAccount: Ember.computed('ethAddress', function () {\n return (0, _web3Utils.isAddress)(this.ethAddress);\n }),\n signupButtonDisabled: Ember.computed.not('isValidEthAccount'),\n actions: {\n completeSignup: function completeSignup() {\n var _this = this;\n\n var payload = {\n accessToken: this.githubAccessToken,\n account: this.ethAddress\n };\n fetch(_environment.default.githubSignupUrl, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify(payload)\n }).then(function (res) {\n return res.json();\n }).then(function (data) {\n console.log('Created contributor:', data);\n\n _this.setProperties({\n githubAccessToken: null,\n ethAddress: null\n });\n\n _this.transitionToRoute('signup.complete');\n });\n }\n }\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/controllers/signup/index\", [\"exports\", \"kredits-web/config/environment\"], function (_exports, _environment) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.Controller.extend({\n actions: {\n connectGithub: function connectGithub() {\n window.location = _environment.default.githubConnectUrl;\n }\n }\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/helpers/and\", [\"exports\", \"ember-truth-helpers/helpers/and\"], function (_exports, _and) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"and\", {\n enumerable: true,\n get: function get() {\n return _and.and;\n }\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function get() {\n return _and.default;\n }\n });\n});","define(\"kredits-web/helpers/app-version\", [\"exports\", \"kredits-web/config/environment\", \"ember-cli-app-version/utils/regexp\"], function (_exports, _environment, _regexp) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.appVersion = appVersion;\n _exports.default = void 0;\n\n function appVersion(_) {\n var hash = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var version = _environment.default.APP.version; // e.g. 1.0.0-alpha.1+4jds75hf\n // Allow use of 'hideSha' and 'hideVersion' For backwards compatibility\n\n var versionOnly = hash.versionOnly || hash.hideSha;\n var shaOnly = hash.shaOnly || hash.hideVersion;\n var match = null;\n\n if (versionOnly) {\n if (hash.showExtended) {\n match = version.match(_regexp.versionExtendedRegExp); // 1.0.0-alpha.1\n } // Fallback to just version\n\n\n if (!match) {\n match = version.match(_regexp.versionRegExp); // 1.0.0\n }\n }\n\n if (shaOnly) {\n match = version.match(_regexp.shaRegExp); // 4jds75hf\n }\n\n return match ? match[0] : version;\n }\n\n var _default = Ember.Helper.helper(appVersion);\n\n _exports.default = _default;\n});","define(\"kredits-web/helpers/await\", [\"exports\", \"ember-promise-helpers/helpers/await\"], function (_exports, _await) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function get() {\n return _await.default;\n }\n });\n});","define(\"kredits-web/helpers/cancel-all\", [\"exports\", \"ember-concurrency/helpers/cancel-all\"], function (_exports, _cancelAll) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function get() {\n return _cancelAll.default;\n }\n });\n});","define(\"kredits-web/helpers/capitalize-string\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\n function _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\n function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\n function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\n function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\n function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\n var _default = Ember.Helper.extend({\n compute: function compute(_ref) {\n var _ref2 = _slicedToArray(_ref, 1),\n string = _ref2[0];\n\n return string.charAt(0).toUpperCase() + string.slice(1);\n }\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/helpers/eq\", [\"exports\", \"ember-truth-helpers/helpers/equal\"], function (_exports, _equal) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function get() {\n return _equal.default;\n }\n });\n Object.defineProperty(_exports, \"equal\", {\n enumerable: true,\n get: function get() {\n return _equal.equal;\n }\n });\n});","define(\"kredits-web/helpers/fmt-crypto-currency\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.Helper.helper(function fmtCryptoCurrency(params\n /*, hash*/\n ) {\n var fmtAmount;\n var amount = params[0];\n var code = params[1];\n\n switch (code) {\n case 'RBTC':\n fmtAmount = amount / 1000000000000000000;\n break;\n\n case 'BTC':\n fmtAmount = amount / 100000000;\n break;\n }\n\n return fmtAmount;\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/helpers/fmt-date-localized\", [\"exports\", \"kredits-web/utils/get-locale\"], function (_exports, _getLocale) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.Helper.helper(function (dateStr) {\n var date = new Date(dateStr);\n var locale = (0, _getLocale.default)();\n return new Intl.DateTimeFormat(locale).format(date);\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/helpers/fmt-fiat-currency\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.Helper.helper(function fmtFiatCurrency(params) {\n var lang = navigator.language || navigator.userLanguage;\n var formatter = new Intl.NumberFormat(lang, {\n style: 'currency',\n currency: params[1] || 'EUR',\n currencyDisplay: 'code'\n });\n return formatter.format(params[0]);\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/helpers/gt\", [\"exports\", \"ember-truth-helpers/helpers/gt\"], function (_exports, _gt) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function get() {\n return _gt.default;\n }\n });\n Object.defineProperty(_exports, \"gt\", {\n enumerable: true,\n get: function get() {\n return _gt.gt;\n }\n });\n});","define(\"kredits-web/helpers/gte\", [\"exports\", \"ember-truth-helpers/helpers/gte\"], function (_exports, _gte) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function get() {\n return _gte.default;\n }\n });\n Object.defineProperty(_exports, \"gte\", {\n enumerable: true,\n get: function get() {\n return _gte.gte;\n }\n });\n});","define(\"kredits-web/helpers/is-after\", [\"exports\", \"ember-moment/helpers/is-after\"], function (_exports, _isAfter) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function get() {\n return _isAfter.default;\n }\n });\n});","define(\"kredits-web/helpers/is-array\", [\"exports\", \"ember-truth-helpers/helpers/is-array\"], function (_exports, _isArray) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function get() {\n return _isArray.default;\n }\n });\n Object.defineProperty(_exports, \"isArray\", {\n enumerable: true,\n get: function get() {\n return _isArray.isArray;\n }\n });\n});","define(\"kredits-web/helpers/is-before\", [\"exports\", \"ember-moment/helpers/is-before\"], function (_exports, _isBefore) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function get() {\n return _isBefore.default;\n }\n });\n});","define(\"kredits-web/helpers/is-between\", [\"exports\", \"ember-moment/helpers/is-between\"], function (_exports, _isBetween) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function get() {\n return _isBetween.default;\n }\n });\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\ndefine(\"kredits-web/router\", [\"exports\", \"kredits-web/config/environment\"], function (_exports, _environment) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\n function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\n function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n function _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\n function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\n function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\n function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\n function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\n function _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\n function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n var Router = /*#__PURE__*/function (_Ember$Router) {\n _inherits(Router, _Ember$Router);\n\n var _super = _createSuper(Router);\n\n function Router() {\n var _this;\n\n _classCallCheck(this, Router);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _defineProperty(_assertThisInitialized(_this), \"location\", _environment.default.locationType);\n\n _defineProperty(_assertThisInitialized(_this), \"rootURL\", _environment.default.rootURL);\n\n return _this;\n }\n\n return _createClass(Router);\n }(Ember.Router);\n\n _exports.default = Router;\n Router.map(function () {\n this.route('dashboard', function () {\n this.route('contributors', function () {\n this.route('show', {\n path: ':id'\n });\n });\n this.route('contributions', function () {\n this.route('show', {\n path: ':id'\n });\n });\n });\n this.route('contributions', function () {\n this.route('new', {\n queryParams: ['contributorId', 'kind', 'amount']\n });\n this.route('resubmit', {\n path: ':id/resubmit'\n });\n });\n this.route('contributors', function () {\n this.route('new');\n this.route('edit', {\n path: ':id/edit'\n });\n });\n this.route('signup', function () {\n this.route('github');\n this.route('eth-account');\n this.route('complete');\n });\n this.route('budget', function () {\n this.route('expenses');\n this.route('reimbursements', function () {});\n });\n this.route('reimbursements', function () {\n this.route('new');\n });\n });\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\ndefine(\"kredits-web/routes/application\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _dec, _dec2, _class, _descriptor, _descriptor2;\n\n function _initializerDefineProperty(target, property, descriptor, context) { if (!descriptor) return; Object.defineProperty(target, property, { enumerable: descriptor.enumerable, configurable: descriptor.configurable, writable: descriptor.writable, value: descriptor.initializer ? descriptor.initializer.call(context) : void 0 }); }\n\n function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\n function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\n function _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\n function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\n function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\n function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\n function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\n function _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\n function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n function _applyDecoratedDescriptor(target, property, decorators, descriptor, context) { var desc = {}; Object.keys(descriptor).forEach(function (key) { desc[key] = descriptor[key]; }); desc.enumerable = !!desc.enumerable; desc.configurable = !!desc.configurable; if ('value' in desc || desc.initializer) { desc.writable = true; } desc = decorators.slice().reverse().reduce(function (desc, decorator) { return decorator(target, property, desc) || desc; }, desc); if (context && desc.initializer !== void 0) { desc.value = desc.initializer ? desc.initializer.call(context) : void 0; desc.initializer = undefined; } if (desc.initializer === void 0) { Object.defineProperty(target, property, desc); desc = null; } return desc; }\n\n function _initializerWarningHelper(descriptor, context) { throw new Error('Decorating class property failed. Please ensure that ' + 'proposal-class-properties is enabled and runs after the decorators transform.'); }\n\n var ApplicationRoute = (_dec = Ember.inject.service, _dec2 = Ember.inject.service, (_class = /*#__PURE__*/function (_Ember$Route) {\n _inherits(ApplicationRoute, _Ember$Route);\n\n var _super = _createSuper(ApplicationRoute);\n\n function ApplicationRoute() {\n var _this;\n\n _classCallCheck(this, ApplicationRoute);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _initializerDefineProperty(_assertThisInitialized(_this), \"kredits\", _descriptor, _assertThisInitialized(_this));\n\n _initializerDefineProperty(_assertThisInitialized(_this), \"communityFunds\", _descriptor2, _assertThisInitialized(_this));\n\n return _this;\n }\n\n _createClass(ApplicationRoute, [{\n key: \"beforeModel\",\n value: function\n /* transition */\n beforeModel() {\n var _this2 = this;\n\n return this.kredits.setup().then(function () {\n _this2.kredits.kredits.preflightChecks().catch(function (error) {\n console.error('Kredits preflight check failed!');\n console.error(error);\n });\n }).catch(function (error) {\n console.log('Error initializing Kredits', error);\n });\n }\n }, {\n key: \"model\",\n value: function model() {\n var _this3 = this;\n\n return this.kredits.loadInitialData().then(function () {\n _this3.kredits.addContractEventHandlers();\n });\n }\n }, {\n key: \"afterModel\",\n value: function afterModel() {\n if (this.kredits.contributorsNeedSync) {\n Ember.run.schedule('afterRender', this.kredits.syncContributors, this.kredits.syncContributors.perform);\n }\n\n Ember.run.schedule('afterRender', this.communityFunds.fetchBalances, this.communityFunds.fetchBalances.perform);\n }\n }]);\n\n return ApplicationRoute;\n }(Ember.Route), (_descriptor = _applyDecoratedDescriptor(_class.prototype, \"kredits\", [_dec], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n }), _descriptor2 = _applyDecoratedDescriptor(_class.prototype, \"communityFunds\", [_dec2], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n })), _class));\n _exports.default = ApplicationRoute;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\ndefine(\"kredits-web/routes/budget\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _dec, _dec2, _class, _descriptor, _descriptor2;\n\n function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\n function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\n function _initializerDefineProperty(target, property, descriptor, context) { if (!descriptor) return; Object.defineProperty(target, property, { enumerable: descriptor.enumerable, configurable: descriptor.configurable, writable: descriptor.writable, value: descriptor.initializer ? descriptor.initializer.call(context) : void 0 }); }\n\n function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\n function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\n function _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\n function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\n function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\n function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\n function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\n function _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\n function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n function _applyDecoratedDescriptor(target, property, decorators, descriptor, context) { var desc = {}; Object.keys(descriptor).forEach(function (key) { desc[key] = descriptor[key]; }); desc.enumerable = !!desc.enumerable; desc.configurable = !!desc.configurable; if ('value' in desc || desc.initializer) { desc.writable = true; } desc = decorators.slice().reverse().reduce(function (desc, decorator) { return decorator(target, property, desc) || desc; }, desc); if (context && desc.initializer !== void 0) { desc.value = desc.initializer ? desc.initializer.call(context) : void 0; desc.initializer = undefined; } if (desc.initializer === void 0) { Object.defineProperty(target, property, desc); desc = null; } return desc; }\n\n function _initializerWarningHelper(descriptor, context) { throw new Error('Decorating class property failed. Please ensure that ' + 'proposal-class-properties is enabled and runs after the decorators transform.'); }\n\n var BudgetRoute = (_dec = Ember.inject.service, _dec2 = Ember.inject.service, (_class = /*#__PURE__*/function (_Ember$Route) {\n _inherits(BudgetRoute, _Ember$Route);\n\n var _super = _createSuper(BudgetRoute);\n\n function BudgetRoute() {\n var _this;\n\n _classCallCheck(this, BudgetRoute);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _initializerDefineProperty(_assertThisInitialized(_this), \"browserCache\", _descriptor, _assertThisInitialized(_this));\n\n _initializerDefineProperty(_assertThisInitialized(_this), \"kredits\", _descriptor2, _assertThisInitialized(_this));\n\n return _this;\n }\n\n _createClass(BudgetRoute, [{\n key: \"model\",\n value: function () {\n var _model = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {\n var numCachedReimbursements;\n return regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n if (!(Ember.isPresent(this.kredits.reimbursements) && Ember.isEmpty(this.kredits.reimbursementsPending))) {\n _context.next = 5;\n break;\n }\n\n console.debug('[route:budget] Reimbursements loaded before, no need to sync or load');\n return _context.abrupt(\"return\");\n\n case 5:\n _context.next = 7;\n return this.browserCache.reimbursements.length();\n\n case 7:\n numCachedReimbursements = _context.sent;\n\n if (!(numCachedReimbursements > 0)) {\n _context.next = 14;\n break;\n }\n\n _context.next = 11;\n return this.kredits.loadObjectsFromCache('Reimbursement');\n\n case 11:\n this.kredits.set('reimbursementsNeedSync', true);\n _context.next = 16;\n break;\n\n case 14:\n _context.next = 16;\n return this.kredits.fetchObjects('Reimbursement', {\n page: {\n size: 10\n }\n });\n\n case 16:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n function model() {\n return _model.apply(this, arguments);\n }\n\n return model;\n }()\n }, {\n key: \"afterModel\",\n value: function afterModel() {\n if (this.kredits.reimbursementsNeedSync) {\n Ember.run.schedule('afterRender', this.kredits.syncReimbursements, this.kredits.syncReimbursements.perform);\n }\n\n Ember.run.schedule('afterRender', this.kredits.fetchMissingReimbursements, this.kredits.fetchMissingReimbursements.perform);\n }\n }]);\n\n return BudgetRoute;\n }(Ember.Route), (_descriptor = _applyDecoratedDescriptor(_class.prototype, \"browserCache\", [_dec], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n }), _descriptor2 = _applyDecoratedDescriptor(_class.prototype, \"kredits\", [_dec2], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n })), _class));\n _exports.default = BudgetRoute;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\ndefine(\"kredits-web/routes/budget/expenses\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\n function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\n function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n function _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\n function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\n function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\n function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\n function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\n function _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\n function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n var BudgetExpensesRoute = /*#__PURE__*/function (_Ember$Route) {\n _inherits(BudgetExpensesRoute, _Ember$Route);\n\n var _super = _createSuper(BudgetExpensesRoute);\n\n function BudgetExpensesRoute() {\n _classCallCheck(this, BudgetExpensesRoute);\n\n return _super.apply(this, arguments);\n }\n\n return _createClass(BudgetExpensesRoute);\n }(Ember.Route);\n\n _exports.default = BudgetExpensesRoute;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\ndefine(\"kredits-web/routes/contributions/new\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\n function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\n function _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\n function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\n function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\n function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\n function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\n function _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\n function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n var ContributionsNewRoute = /*#__PURE__*/function (_Ember$Route) {\n _inherits(ContributionsNewRoute, _Ember$Route);\n\n var _super = _createSuper(ContributionsNewRoute);\n\n function ContributionsNewRoute() {\n _classCallCheck(this, ContributionsNewRoute);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(ContributionsNewRoute, [{\n key: \"model\",\n value: function model(params) {\n return {\n params: params\n };\n }\n }]);\n\n return ContributionsNewRoute;\n }(Ember.Route);\n\n _exports.default = ContributionsNewRoute;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\ndefine(\"kredits-web/routes/dashboard\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _dec, _class, _descriptor;\n\n function _initializerDefineProperty(target, property, descriptor, context) { if (!descriptor) return; Object.defineProperty(target, property, { enumerable: descriptor.enumerable, configurable: descriptor.configurable, writable: descriptor.writable, value: descriptor.initializer ? descriptor.initializer.call(context) : void 0 }); }\n\n function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\n function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\n function _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\n function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\n function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\n function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\n function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\n function _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\n function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n function _applyDecoratedDescriptor(target, property, decorators, descriptor, context) { var desc = {}; Object.keys(descriptor).forEach(function (key) { desc[key] = descriptor[key]; }); desc.enumerable = !!desc.enumerable; desc.configurable = !!desc.configurable; if ('value' in desc || desc.initializer) { desc.writable = true; } desc = decorators.slice().reverse().reduce(function (desc, decorator) { return decorator(target, property, desc) || desc; }, desc); if (context && desc.initializer !== void 0) { desc.value = desc.initializer ? desc.initializer.call(context) : void 0; desc.initializer = undefined; } if (desc.initializer === void 0) { Object.defineProperty(target, property, desc); desc = null; } return desc; }\n\n function _initializerWarningHelper(descriptor, context) { throw new Error('Decorating class property failed. Please ensure that ' + 'proposal-class-properties is enabled and runs after the decorators transform.'); }\n\n var DashboardRoute = (_dec = Ember.inject.service, (_class = /*#__PURE__*/function (_Ember$Route) {\n _inherits(DashboardRoute, _Ember$Route);\n\n var _super = _createSuper(DashboardRoute);\n\n function DashboardRoute() {\n var _this;\n\n _classCallCheck(this, DashboardRoute);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _initializerDefineProperty(_assertThisInitialized(_this), \"kredits\", _descriptor, _assertThisInitialized(_this));\n\n return _this;\n }\n\n _createClass(DashboardRoute, [{\n key: \"afterModel\",\n value: function afterModel() {\n if (this.kredits.contributionsNeedSync) {\n Ember.run.schedule('afterRender', this.kredits.syncContributions, this.kredits.syncContributions.perform);\n } // TODO fetch automatically under a certain threshold\n // The browser might delete cached data and we don't need manual re-syncs\n // depending on how little is missing\n // schedule('afterRender', this.kredits.fetchMissingContributions,\n // this.kredits.fetchMissingContributions.perform);\n\n }\n }]);\n\n return DashboardRoute;\n }(Ember.Route), (_descriptor = _applyDecoratedDescriptor(_class.prototype, \"kredits\", [_dec], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n })), _class));\n _exports.default = DashboardRoute;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\ndefine(\"kredits-web/routes/reimbursements/new\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\n function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\n function _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\n function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\n function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\n function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\n function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\n function _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\n function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n var ReimbursementsNewRoute = /*#__PURE__*/function (_Ember$Route) {\n _inherits(ReimbursementsNewRoute, _Ember$Route);\n\n var _super = _createSuper(ReimbursementsNewRoute);\n\n function ReimbursementsNewRoute() {\n _classCallCheck(this, ReimbursementsNewRoute);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(ReimbursementsNewRoute, [{\n key: \"model\",\n value: function model(params) {\n return {\n params: params\n };\n }\n }]);\n\n return ReimbursementsNewRoute;\n }(Ember.Route);\n\n _exports.default = ReimbursementsNewRoute;\n});","define(\"kredits-web/helpers/is-confirmed-contribution\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\n function _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\n function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\n function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\n function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\n function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\n var _default = Ember.Helper.extend({\n kredits: Ember.inject.service(),\n currentBlock: Ember.computed.alias('kredits.currentBlock'),\n compute: function compute(_ref) {\n var _ref2 = _slicedToArray(_ref, 1),\n contribution = _ref2[0];\n\n return !contribution.vetoed && contribution.confirmedAt <= this.currentBlock;\n }\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/helpers/is-current-user\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\n function _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\n function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\n function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\n function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\n function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\n var _default = Ember.Helper.extend({\n kredits: Ember.inject.service(),\n currentUser: Ember.computed.alias('kredits.currentUser'),\n compute: function compute(_ref) {\n var _ref2 = _slicedToArray(_ref, 1),\n contributor = _ref2[0];\n\n return Ember.isPresent(contributor) && Ember.isPresent(this.currentUser) && contributor.account === this.currentUser.account;\n }\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/helpers/is-empty\", [\"exports\", \"ember-truth-helpers/helpers/is-empty\"], function (_exports, _isEmpty) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function get() {\n return _isEmpty.default;\n }\n });\n});","define(\"kredits-web/helpers/is-equal\", [\"exports\", \"ember-truth-helpers/helpers/is-equal\"], function (_exports, _isEqual) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function get() {\n return _isEqual.default;\n }\n });\n Object.defineProperty(_exports, \"isEqual\", {\n enumerable: true,\n get: function get() {\n return _isEqual.isEqual;\n }\n });\n});","define(\"kredits-web/helpers/is-fulfilled\", [\"exports\", \"ember-promise-helpers/helpers/is-fulfilled\"], function (_exports, _isFulfilled) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function get() {\n return _isFulfilled.default;\n }\n });\n});","define(\"kredits-web/helpers/is-pending\", [\"exports\", \"ember-promise-helpers/helpers/is-pending\"], function (_exports, _isPending) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function get() {\n return _isPending.default;\n }\n });\n});","define(\"kredits-web/helpers/is-rejected\", [\"exports\", \"ember-promise-helpers/helpers/is-rejected\"], function (_exports, _isRejected) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function get() {\n return _isRejected.default;\n }\n });\n});","define(\"kredits-web/helpers/is-same-or-after\", [\"exports\", \"ember-moment/helpers/is-same-or-after\"], function (_exports, _isSameOrAfter) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function get() {\n return _isSameOrAfter.default;\n }\n });\n});","define(\"kredits-web/helpers/is-same-or-before\", [\"exports\", \"ember-moment/helpers/is-same-or-before\"], function (_exports, _isSameOrBefore) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function get() {\n return _isSameOrBefore.default;\n }\n });\n});","define(\"kredits-web/helpers/is-same\", [\"exports\", \"ember-moment/helpers/is-same\"], function (_exports, _isSame) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function get() {\n return _isSame.default;\n }\n });\n});","define(\"kredits-web/helpers/item-status\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\n function _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\n function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\n function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\n function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\n function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\n var _default = Ember.Helper.extend({\n kredits: Ember.inject.service(),\n currentBlock: Ember.computed.alias('kredits.currentBlock'),\n compute: function compute(_ref) {\n var _ref2 = _slicedToArray(_ref, 1),\n item = _ref2[0];\n\n this.setupRecompute(item);\n var status = [];\n\n if (item.vetoed) {\n status.push('vetoed');\n } else if (item.confirmedAt > this.currentBlock) {\n status.push('unconfirmed');\n } else {\n status.push('confirmed');\n }\n\n if (item.hasPendingChanges) {\n status.push('pending');\n }\n\n return status.join(' ');\n },\n destroy: function destroy() {\n if (this.teardown) this.teardown();\n\n this._super.apply(this, arguments);\n },\n setupRecompute: function setupRecompute(item) {\n var _this = this;\n\n if (this.teardown) this.teardown();\n item.addObserver('vetoed', this, this.triggerRecompute);\n item.addObserver('confirmedAt', this, this.triggerRecompute);\n item.addObserver('currentBlock', this, this.triggerRecompute);\n item.addObserver('hasPendingChanges', this, this.triggerRecompute);\n\n this.teardown = function () {\n item.removeObserver('vetoed', _this, _this.triggerRecompute);\n item.removeObserver('confirmedAt', _this, _this.triggerRecompute);\n item.removeObserver('currentBlock', _this, _this.triggerRecompute);\n item.removeObserver('hasPendingChanges', _this, _this.triggerRecompute);\n };\n },\n triggerRecompute: function triggerRecompute() {\n Ember.run.once(this, this.recompute);\n }\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/helpers/lt\", [\"exports\", \"ember-truth-helpers/helpers/lt\"], function (_exports, _lt) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function get() {\n return _lt.default;\n }\n });\n Object.defineProperty(_exports, \"lt\", {\n enumerable: true,\n get: function get() {\n return _lt.lt;\n }\n });\n});","define(\"kredits-web/helpers/lte\", [\"exports\", \"ember-truth-helpers/helpers/lte\"], function (_exports, _lte) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function get() {\n return _lte.default;\n }\n });\n Object.defineProperty(_exports, \"lte\", {\n enumerable: true,\n get: function get() {\n return _lte.lte;\n }\n });\n});","define(\"kredits-web/helpers/moment-add\", [\"exports\", \"ember-moment/helpers/moment-add\"], function (_exports, _momentAdd) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function get() {\n return _momentAdd.default;\n }\n });\n});","define(\"kredits-web/helpers/moment-calendar\", [\"exports\", \"ember-moment/helpers/moment-calendar\"], function (_exports, _momentCalendar) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function get() {\n return _momentCalendar.default;\n }\n });\n});","define(\"kredits-web/helpers/moment-diff\", [\"exports\", \"ember-moment/helpers/moment-diff\"], function (_exports, _momentDiff) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function get() {\n return _momentDiff.default;\n }\n });\n});","define(\"kredits-web/helpers/moment-duration\", [\"exports\", \"ember-moment/helpers/moment-duration\"], function (_exports, _momentDuration) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function get() {\n return _momentDuration.default;\n }\n });\n});","define(\"kredits-web/helpers/moment-format\", [\"exports\", \"ember-moment/helpers/moment-format\"], function (_exports, _momentFormat) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function get() {\n return _momentFormat.default;\n }\n });\n});","define(\"kredits-web/helpers/moment-from-now\", [\"exports\", \"ember-moment/helpers/moment-from-now\"], function (_exports, _momentFromNow) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function get() {\n return _momentFromNow.default;\n }\n });\n});","define(\"kredits-web/helpers/moment-from\", [\"exports\", \"ember-moment/helpers/moment-from\"], function (_exports, _momentFrom) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function get() {\n return _momentFrom.default;\n }\n });\n});","define(\"kredits-web/helpers/moment-subtract\", [\"exports\", \"ember-moment/helpers/moment-subtract\"], function (_exports, _momentSubtract) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function get() {\n return _momentSubtract.default;\n }\n });\n});","define(\"kredits-web/helpers/moment-to-date\", [\"exports\", \"ember-moment/helpers/moment-to-date\"], function (_exports, _momentToDate) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function get() {\n return _momentToDate.default;\n }\n });\n});","define(\"kredits-web/helpers/moment-to-now\", [\"exports\", \"ember-moment/helpers/moment-to-now\"], function (_exports, _momentToNow) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function get() {\n return _momentToNow.default;\n }\n });\n});","define(\"kredits-web/helpers/moment-to\", [\"exports\", \"ember-moment/helpers/moment-to\"], function (_exports, _momentTo) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function get() {\n return _momentTo.default;\n }\n });\n});","define(\"kredits-web/helpers/moment-unix\", [\"exports\", \"ember-moment/helpers/unix\"], function (_exports, _unix) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function get() {\n return _unix.default;\n }\n });\n});","define(\"kredits-web/helpers/moment\", [\"exports\", \"ember-moment/helpers/moment\"], function (_exports, _moment) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function get() {\n return _moment.default;\n }\n });\n});","define(\"kredits-web/helpers/not-eq\", [\"exports\", \"ember-truth-helpers/helpers/not-equal\"], function (_exports, _notEqual) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function get() {\n return _notEqual.default;\n }\n });\n Object.defineProperty(_exports, \"notEqualHelper\", {\n enumerable: true,\n get: function get() {\n return _notEqual.notEqualHelper;\n }\n });\n});","define(\"kredits-web/helpers/not\", [\"exports\", \"ember-truth-helpers/helpers/not\"], function (_exports, _not) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function get() {\n return _not.default;\n }\n });\n Object.defineProperty(_exports, \"not\", {\n enumerable: true,\n get: function get() {\n return _not.not;\n }\n });\n});","define(\"kredits-web/helpers/now\", [\"exports\", \"ember-moment/helpers/now\"], function (_exports, _now) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function get() {\n return _now.default;\n }\n });\n});","define(\"kredits-web/helpers/or\", [\"exports\", \"ember-truth-helpers/helpers/or\"], function (_exports, _or) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function get() {\n return _or.default;\n }\n });\n Object.defineProperty(_exports, \"or\", {\n enumerable: true,\n get: function get() {\n return _or.or;\n }\n });\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\ndefine(\"kredits-web/services/browser-cache\", [\"exports\", \"localforage\", \"kredits-web/config/environment\"], function (_exports, localforage, _environment) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\n function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\n function _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\n function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\n function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\n function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\n function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\n function _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\n function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n function createStore(name) {\n var networkName;\n\n if (_environment.default.web3RequiredNetworkName) {\n networkName = _environment.default.web3RequiredNetworkName.toLocaleLowerCase().replace(' ', '-');\n } else {\n networkName = 'custom';\n }\n\n return localforage.createInstance({\n name: \"kredits:\".concat(networkName, \":\").concat(name)\n });\n }\n\n var BrowserCacheService = /*#__PURE__*/function (_Ember$Service) {\n _inherits(BrowserCacheService, _Ember$Service);\n\n var _super = _createSuper(BrowserCacheService);\n\n function BrowserCacheService() {\n var _this;\n\n _classCallCheck(this, BrowserCacheService);\n\n _this = _super.apply(this, arguments);\n _this.stores = {\n contributors: createStore('contributors'),\n contributions: createStore('contributions'),\n reimbursements: createStore('reimbursements')\n };\n return _this;\n }\n\n _createClass(BrowserCacheService, [{\n key: \"contributors\",\n get: function get() {\n return this.stores.contributors;\n }\n }, {\n key: \"contributions\",\n get: function get() {\n return this.stores.contributions;\n }\n }, {\n key: \"reimbursements\",\n get: function get() {\n return this.stores.reimbursements;\n }\n }]);\n\n return BrowserCacheService;\n }(Ember.Service);\n\n _exports.default = BrowserCacheService;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\ndefine(\"kredits-web/services/community-funds\", [\"exports\", \"ember-concurrency-decorators\", \"kredits-web/config/environment\"], function (_exports, _emberConcurrencyDecorators, _environment) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _dec, _dec2, _dec3, _class, _descriptor, _descriptor2, _descriptor3;\n\n function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\n function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\n function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\n function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\n function _initializerDefineProperty(target, property, descriptor, context) { if (!descriptor) return; Object.defineProperty(target, property, { enumerable: descriptor.enumerable, configurable: descriptor.configurable, writable: descriptor.writable, value: descriptor.initializer ? descriptor.initializer.call(context) : void 0 }); }\n\n function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\n function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\n function _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\n function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\n function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\n function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\n function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\n function _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\n function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n function _applyDecoratedDescriptor(target, property, decorators, descriptor, context) { var desc = {}; Object.keys(descriptor).forEach(function (key) { desc[key] = descriptor[key]; }); desc.enumerable = !!desc.enumerable; desc.configurable = !!desc.configurable; if ('value' in desc || desc.initializer) { desc.writable = true; } desc = decorators.slice().reverse().reduce(function (desc, decorator) { return decorator(target, property, desc) || desc; }, desc); if (context && desc.initializer !== void 0) { desc.value = desc.initializer ? desc.initializer.call(context) : void 0; desc.initializer = undefined; } if (desc.initializer === void 0) { Object.defineProperty(target, property, desc); desc = null; } return desc; }\n\n function _initializerWarningHelper(descriptor, context) { throw new Error('Decorating class property failed. Please ensure that ' + 'proposal-class-properties is enabled and runs after the decorators transform.'); }\n\n var CommunityFundsService = (_dec = Ember.inject.service, _dec2 = Ember._tracked, _dec3 = Ember._tracked, (_class = /*#__PURE__*/function (_Ember$Service) {\n _inherits(CommunityFundsService, _Ember$Service);\n\n var _super = _createSuper(CommunityFundsService);\n\n function CommunityFundsService() {\n var _this;\n\n _classCallCheck(this, CommunityFundsService);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _initializerDefineProperty(_assertThisInitialized(_this), \"exchangeRates\", _descriptor, _assertThisInitialized(_this));\n\n _initializerDefineProperty(_assertThisInitialized(_this), \"balancesLoaded\", _descriptor2, _assertThisInitialized(_this));\n\n _initializerDefineProperty(_assertThisInitialized(_this), \"balances\", _descriptor3, _assertThisInitialized(_this));\n\n return _this;\n }\n\n _createClass(CommunityFundsService, [{\n key: \"fetchBalances\",\n value: /*#__PURE__*/regeneratorRuntime.mark(function fetchBalances() {\n var _this2 = this;\n\n return regeneratorRuntime.wrap(function fetchBalances$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return fetch(_environment.default.btcBalanceAPI).then(function (res) {\n return res.json();\n }).then(function (res) {\n return _this2.processBalances(res);\n }).catch(function (err) {\n console.log(\"[community-funds] Fetching balances failed:\");\n console.error(err);\n });\n\n case 2:\n case \"end\":\n return _context.stop();\n }\n }\n }, fetchBalances);\n })\n }, {\n key: \"processBalances\",\n value: function () {\n var _processBalances = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee(res) {\n var lang, balanceUSD;\n return regeneratorRuntime.wrap(function _callee$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n _context2.next = 2;\n return this.exchangeRates.fetchRates();\n\n case 2:\n // Format and round the approximate USD value\n lang = navigator.language || navigator.userLanguage;\n balanceUSD = res.confirmed_balance * this.exchangeRates.btcusd;\n res.balanceUSD = Math.round(balanceUSD).toLocaleString(lang);\n this.balances.pushObject(_objectSpread(_objectSpread({}, res), {\n token: {\n name: 'BTC',\n symbol: 'BTC'\n }\n }));\n this.balancesLoaded = true;\n\n case 7:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee, this);\n }));\n\n function processBalances(_x) {\n return _processBalances.apply(this, arguments);\n }\n\n return processBalances;\n }()\n }]);\n\n return CommunityFundsService;\n }(Ember.Service), (_descriptor = _applyDecoratedDescriptor(_class.prototype, \"exchangeRates\", [_dec], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n }), _descriptor2 = _applyDecoratedDescriptor(_class.prototype, \"balancesLoaded\", [_dec2], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function initializer() {\n return false;\n }\n }), _descriptor3 = _applyDecoratedDescriptor(_class.prototype, \"balances\", [_dec3], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function initializer() {\n return Ember.A([]);\n }\n }), _applyDecoratedDescriptor(_class.prototype, \"fetchBalances\", [_emberConcurrencyDecorators.task], Object.getOwnPropertyDescriptor(_class.prototype, \"fetchBalances\"), _class.prototype)), _class));\n _exports.default = CommunityFundsService;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\ndefine(\"kredits-web/services/exchange-rates\", [\"exports\", \"kredits-web/config/environment\"], function (_exports, _environment) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _dec, _dec2, _class, _descriptor, _descriptor2;\n\n function _initializerDefineProperty(target, property, descriptor, context) { if (!descriptor) return; Object.defineProperty(target, property, { enumerable: descriptor.enumerable, configurable: descriptor.configurable, writable: descriptor.writable, value: descriptor.initializer ? descriptor.initializer.call(context) : void 0 }); }\n\n function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\n function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\n function _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\n function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\n function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\n function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\n function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\n function _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\n function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n function _applyDecoratedDescriptor(target, property, decorators, descriptor, context) { var desc = {}; Object.keys(descriptor).forEach(function (key) { desc[key] = descriptor[key]; }); desc.enumerable = !!desc.enumerable; desc.configurable = !!desc.configurable; if ('value' in desc || desc.initializer) { desc.writable = true; } desc = decorators.slice().reverse().reduce(function (desc, decorator) { return decorator(target, property, desc) || desc; }, desc); if (context && desc.initializer !== void 0) { desc.value = desc.initializer ? desc.initializer.call(context) : void 0; desc.initializer = undefined; } if (desc.initializer === void 0) { Object.defineProperty(target, property, desc); desc = null; } return desc; }\n\n function _initializerWarningHelper(descriptor, context) { throw new Error('Decorating class property failed. Please ensure that ' + 'proposal-class-properties is enabled and runs after the decorators transform.'); }\n\n function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\n function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\n // Need to go through proxy for CORS headers\n var bitstampBaseUrl = \"\".concat(_environment.default.corsProxy, \"https://www.bitstamp.net/api/v2\");\n\n function fetchFromBitstamp(_x) {\n return _fetchFromBitstamp.apply(this, arguments);\n }\n\n function _fetchFromBitstamp() {\n _fetchFromBitstamp = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee(currencyPair) {\n var res;\n return regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.prev = 0;\n _context.next = 3;\n return fetch(\"\".concat(bitstampBaseUrl, \"/ticker/\").concat(currencyPair, \"/\")).then(function (r) {\n return r.json();\n });\n\n case 3:\n res = _context.sent;\n return _context.abrupt(\"return\", parseFloat(res.vwap));\n\n case 7:\n _context.prev = 7;\n _context.t0 = _context[\"catch\"](0);\n console.error('Could not fetch exchange rate from Bitstamp:', _context.t0);\n return _context.abrupt(\"return\", 0);\n\n case 11:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, null, [[0, 7]]);\n }));\n return _fetchFromBitstamp.apply(this, arguments);\n }\n\n var ExchangeRatesService = (_dec = Ember._tracked, _dec2 = Ember._tracked, (_class = /*#__PURE__*/function (_Ember$Service) {\n _inherits(ExchangeRatesService, _Ember$Service);\n\n var _super = _createSuper(ExchangeRatesService);\n\n function ExchangeRatesService() {\n var _this;\n\n _classCallCheck(this, ExchangeRatesService);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _initializerDefineProperty(_assertThisInitialized(_this), \"btceur\", _descriptor, _assertThisInitialized(_this));\n\n _initializerDefineProperty(_assertThisInitialized(_this), \"btcusd\", _descriptor2, _assertThisInitialized(_this));\n\n return _this;\n }\n\n _createClass(ExchangeRatesService, [{\n key: \"fetchRates\",\n value: function () {\n var _fetchRates = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2() {\n var source,\n _args2 = arguments;\n return regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n source = _args2.length > 0 && _args2[0] !== undefined ? _args2[0] : 'bitstamp';\n _context2.t0 = source;\n _context2.next = _context2.t0 === 'bitstamp' ? 4 : 10;\n break;\n\n case 4:\n _context2.next = 6;\n return fetchFromBitstamp('btceur');\n\n case 6:\n this.btceur = _context2.sent;\n _context2.next = 9;\n return fetchFromBitstamp('btcusd');\n\n case 9:\n this.btcusd = _context2.sent;\n\n case 10:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2, this);\n }));\n\n function fetchRates() {\n return _fetchRates.apply(this, arguments);\n }\n\n return fetchRates;\n }()\n }]);\n\n return ExchangeRatesService;\n }(Ember.Service), (_descriptor = _applyDecoratedDescriptor(_class.prototype, \"btceur\", [_dec], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function initializer() {\n return 0;\n }\n }), _descriptor2 = _applyDecoratedDescriptor(_class.prototype, \"btcusd\", [_dec2], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function initializer() {\n return 0;\n }\n })), _class));\n _exports.default = ExchangeRatesService;\n});","define(\"kredits-web/helpers/perform\", [\"exports\", \"ember-concurrency/helpers/perform\"], function (_exports, _perform) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function get() {\n return _perform.default;\n }\n });\n});","define(\"kredits-web/helpers/promise-all\", [\"exports\", \"ember-promise-helpers/helpers/promise-all\"], function (_exports, _promiseAll) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function get() {\n return _promiseAll.default;\n }\n });\n});","define(\"kredits-web/helpers/promise-hash\", [\"exports\", \"ember-promise-helpers/helpers/promise-hash\"], function (_exports, _promiseHash) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function get() {\n return _promiseHash.default;\n }\n });\n});","define(\"kredits-web/helpers/promise-rejected-reason\", [\"exports\", \"ember-promise-helpers/helpers/promise-rejected-reason\"], function (_exports, _promiseRejectedReason) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function get() {\n return _promiseRejectedReason.default;\n }\n });\n});","define(\"kredits-web/helpers/sats-to-btc\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.Helper.helper(function satsToBtc(amount\n /*, hash*/\n ) {\n return amount / 100000000;\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/helpers/task\", [\"exports\", \"ember-concurrency/helpers/task\"], function (_exports, _task) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function get() {\n return _task.default;\n }\n });\n});","define(\"kredits-web/helpers/unix\", [\"exports\", \"ember-moment/helpers/unix\"], function (_exports, _unix) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function get() {\n return _unix.default;\n }\n });\n});","define(\"kredits-web/helpers/utc\", [\"exports\", \"ember-moment/helpers/utc\"], function (_exports, _utc) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function get() {\n return _utc.default;\n }\n });\n Object.defineProperty(_exports, \"utc\", {\n enumerable: true,\n get: function get() {\n return _utc.utc;\n }\n });\n});","define(\"kredits-web/helpers/xor\", [\"exports\", \"ember-truth-helpers/helpers/xor\"], function (_exports, _xor) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function get() {\n return _xor.default;\n }\n });\n Object.defineProperty(_exports, \"xor\", {\n enumerable: true,\n get: function get() {\n return _xor.xor;\n }\n });\n});","define(\"kredits-web/initializers/app-version\", [\"exports\", \"ember-cli-app-version/initializer-factory\", \"kredits-web/config/environment\"], function (_exports, _initializerFactory, _environment) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n var name, version;\n\n if (_environment.default.APP) {\n name = _environment.default.APP.name;\n version = _environment.default.APP.version;\n }\n\n var _default = {\n name: 'App Version',\n initialize: (0, _initializerFactory.default)(name, version)\n };\n _exports.default = _default;\n});","define(\"kredits-web/initializers/container-debug-adapter\", [\"exports\", \"ember-resolver/resolvers/classic/container-debug-adapter\"], function (_exports, _containerDebugAdapter) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n var _default = {\n name: 'container-debug-adapter',\n initialize: function initialize() {\n var app = arguments[1] || arguments[0];\n app.register('container-debug-adapter:main', _containerDebugAdapter.default);\n }\n };\n _exports.default = _default;\n});","define(\"kredits-web/initializers/ember-concurrency\", [\"exports\", \"ember-concurrency/initializers/ember-concurrency\"], function (_exports, _emberConcurrency) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function get() {\n return _emberConcurrency.default;\n }\n });\n});","define(\"kredits-web/initializers/export-application-global\", [\"exports\", \"kredits-web/config/environment\"], function (_exports, _environment) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n _exports.initialize = initialize;\n\n function initialize() {\n var application = arguments[1] || arguments[0];\n\n if (_environment.default.exportApplicationGlobal !== false) {\n var theGlobal;\n\n if (typeof window !== 'undefined') {\n theGlobal = window;\n } else if (typeof global !== 'undefined') {\n theGlobal = global;\n } else if (typeof self !== 'undefined') {\n theGlobal = self;\n } else {\n // no reasonable global, just bail\n return;\n }\n\n var value = _environment.default.exportApplicationGlobal;\n var globalName;\n\n if (typeof value === 'string') {\n globalName = value;\n } else {\n globalName = Ember.String.classify(_environment.default.modulePrefix);\n }\n\n if (!theGlobal[globalName]) {\n theGlobal[globalName] = application;\n application.reopen({\n willDestroy: function willDestroy() {\n this._super.apply(this, arguments);\n\n delete theGlobal[globalName];\n }\n });\n }\n }\n }\n\n var _default = {\n name: 'export-application-global',\n initialize: initialize\n };\n _exports.default = _default;\n});","define(\"kredits-web/models/contribution\", [\"exports\", \"moment\"], function (_exports, _moment) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.Object.extend({\n // Contract\n id: null,\n contributorId: null,\n amount: null,\n confirmedAt: null,\n vetoed: null,\n ipfsHash: null,\n // contributor model instance\n contributor: null,\n // TODO contributor who submitted the contribution\n // submittedBy: null,\n // IPFS\n kind: null,\n description: null,\n details: null,\n url: null,\n date: null,\n time: null,\n pendingTx: null,\n init: function init() {\n this._super.apply(this, arguments);\n\n if (Ember.isEmpty(this.details)) this.set('details', {});\n },\n iso8601Date: Ember.computed('date', 'time', function () {\n return this.time ? \"\".concat(this.date, \"T\").concat(this.time) : this.date;\n }),\n jsDate: Ember.computed('iso8601Date', function () {\n return (0, _moment.default)(this.iso8601Date).toDate();\n }),\n hasPendingChanges: Ember.computed('pendingTx', function () {\n return Ember.isPresent(this.pendingTx);\n }),\n serialize: function serialize() {\n return JSON.stringify(this);\n }\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/models/contributor\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.Object.extend({\n // Contract\n id: null,\n account: null,\n balance: 0,\n totalKreditsEarned: 0,\n contributionsCount: 0,\n isCore: false,\n ipfsHash: null,\n // IPFS\n kind: null,\n name: null,\n url: null,\n github_username: null,\n github_uid: null,\n wiki_username: null,\n zoom_display_name: null,\n serialize: function serialize() {\n return JSON.stringify(this);\n }\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/models/reimbursement\", [\"exports\", \"moment\"], function (_exports, _moment) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.Object.extend({\n // Contract\n id: null,\n recipientId: null,\n token: null,\n amount: null,\n confirmedAt: null,\n vetoed: null,\n ipfsHash: null,\n // contributor model instance\n recipient: null,\n // TODO contributor who submitted the reimbursement\n // recordedBy: null,\n // IPFS\n expenses: null,\n // Array of expense objects\n pendingTx: null,\n iso8601Date: Ember.computed('date', 'time', function () {\n return this.time ? \"\".concat(this.date, \"T\").concat(this.time) : this.date;\n }),\n jsDate: Ember.computed('iso8601Date', function () {\n return (0, _moment.default)(this.iso8601Date).toDate();\n }),\n hasPendingChanges: Ember.computed('pendingTx', function () {\n return Ember.isPresent(this.pendingTx);\n }),\n pendingStatus: Ember.computed('pendingTx', function () {\n return Ember.isPresent(this.pendingTx) ? 'isPending' : 'notPending';\n }),\n serialize: function serialize() {\n return JSON.stringify(this);\n }\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/routes/contributions/resubmit\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.Route.extend({\n kredits: Ember.inject.service(),\n model: function model(params) {\n return this.kredits.contributions.findBy('id', parseInt(params.id));\n },\n setupController: function setupController(controller, model) {\n this._super(controller, model);\n\n controller.set('attributes', model.getProperties(['contributorId', 'kind', 'amount', 'description', 'url', 'details']));\n controller.set('attributes.date', model.jsDate);\n }\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/routes/contributors/edit\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.Route.extend({\n kredits: Ember.inject.service(),\n contributors: Ember.computed.alias('kredits.contributors'),\n model: function model(params) {\n return this.kredits.contributors.findBy('id', params.id);\n },\n setupController: function setupController(controller, model) {\n this._super(controller, model);\n\n controller.set('attributes', {\n account: model.account,\n name: model.name,\n kind: model.kind,\n url: model.url,\n github_username: model.github_username,\n github_uid: model.github_uid,\n gitea_username: model.gitea_username,\n wiki_username: model.wiki_username,\n zoom_display_name: model.zoom_display_name\n });\n }\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/routes/dashboard/contributions/show\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.Route.extend({\n kredits: Ember.inject.service(),\n contributions: Ember.computed.alias('kredits.contributions'),\n model: function model(params) {\n return this.contributions.findBy('id', parseInt(params.id));\n },\n setupController: function setupController(controller, model) {\n this._super(controller, model);\n\n this.controllerFor('dashboard').setProperties({\n showDetailsPane: true,\n selectedContributionId: model.id\n });\n },\n deactivate: function deactivate() {\n this.controllerFor('dashboard').setProperties({\n showDetailsPane: false,\n selectedContributionId: null\n });\n }\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/routes/dashboard/contributors/show\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.Route.extend({\n kredits: Ember.inject.service(),\n contributors: Ember.computed.alias('kredits.contributors'),\n model: function model(params) {\n return this.contributors.findBy('id', params.id);\n },\n setupController: function setupController(controller, model) {\n this._super(controller, model);\n\n this.controllerFor('dashboard').setProperties({\n showDetailsPane: true,\n selectedContributorId: model.id\n });\n },\n deactivate: function deactivate() {\n this.controllerFor('dashboard').setProperties({\n showDetailsPane: false,\n selectedContributorId: null\n });\n }\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/routes/index\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.Route.extend({\n redirect: function redirect() {\n this.transitionTo('dashboard');\n }\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/routes/signup\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.Route.extend({});\n\n _exports.default = _default;\n});","define(\"kredits-web/routes/signup/complete\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.Route.extend({});\n\n _exports.default = _default;\n});","define(\"kredits-web/routes/signup/eth-account\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.Route.extend({\n kredits: Ember.inject.service(),\n redirect: function redirect() {\n this._super.apply(this, arguments);\n\n if (Ember.isEmpty(this.kredits.githubAccessToken)) {\n this.transitionTo('signup.index');\n }\n }\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/routes/signup/github\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.Route.extend({\n kredits: Ember.inject.service(),\n redirect: function redirect() {\n this._super.apply(this, arguments);\n\n var accessToken;\n\n try {\n accessToken = window.location.hash.match(/access_token=(.+)/)[1];\n } catch (error) {\n /* ignore */\n }\n\n if (Ember.isEmpty(accessToken) || accessToken === 'undefined') {\n console.error('No GitHub access token found.');\n this.transitionTo('signup');\n return;\n }\n\n this.kredits.set('githubAccessToken', accessToken);\n this.transitionTo('signup.eth-account');\n }\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/services/kredits\", [\"exports\", \"ethers\", \"@kredits/contracts\", \"ember-concurrency\", \"kredits-web/utils/group-by\", \"kredits-web/utils/process-contributor-data\", \"kredits-web/utils/process-contribution-data\", \"kredits-web/utils/process-reimbursement-data\", \"kredits-web/utils/format-kredits\", \"kredits-web/config/environment\", \"kredits-web/models/contributor\", \"kredits-web/models/contribution\", \"kredits-web/models/reimbursement\"], function (_exports, _ethers, _contracts, _emberConcurrency, _groupBy, _processContributorData, _processContributionData, _processReimbursementData, _formatKredits, _environment, _contributor, _contribution, _reimbursement) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\n function _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\n function _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\n\n function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\n function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } 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 normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }\n\n function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\n function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\n function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\n function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\n // Lets us access the model classes dynamically\n var models = {\n Contributor: _contributor.default,\n Contribution: _contribution.default,\n Reimbursement: _reimbursement.default\n };\n\n var _default = Ember.Service.extend({\n browserCache: Ember.inject.service(),\n currentBlock: null,\n currentUserAccounts: null,\n // default to not having an account. this is the wen web3 is loaded.\n currentUser: null,\n contributors: null,\n contributions: null,\n reimbursements: null,\n githubAccessToken: null,\n currentUserIsContributor: Ember.computed.notEmpty('currentUser'),\n currentUserIsCore: Ember.computed.alias('currentUser.isCore'),\n hasAccounts: Ember.computed.notEmpty('currentUserAccounts'),\n contributorsMined: Ember.computed.filterBy('contributors', 'id'),\n contributorsSorting: Object.freeze(['name:asc']),\n contributorsSorted: Ember.computed.sort('contributorsMined', 'contributorsSorting'),\n // When data was loaded from cache, we need to fetch updates from the network\n contributorsNeedSync: false,\n contributionsNeedSync: false,\n reimbursementsNeedSync: false,\n missingHistoricContributionsCount: 0,\n init: function init() {\n this._super.apply(this, arguments);\n\n this.set('contributors', []);\n this.set('contributions', []);\n this.set('reimbursements', []);\n },\n // This is called in the application route's beforeModel(). So it is\n // initialized before everything else, and we can rely on the ethProvider and\n // the potential currentUserAccounts to be available\n getEthProvider: function getEthProvider() {\n var _this = this;\n\n var ethProvider;\n return new Promise(function (resolve) {\n function instantiateWithoutAccount() {\n console.debug('[kredits] Creating new instance from npm module class');\n console.debug(\"[kredits] providerURL: \".concat(_environment.default.web3ProviderUrl));\n ethProvider = new _ethers.default.providers.JsonRpcProvider(_environment.default.web3ProviderUrl);\n resolve({\n ethProvider: ethProvider,\n ethSigner: null\n });\n }\n\n function instantiateWithAccount(_x, _x2) {\n return _instantiateWithAccount.apply(this, arguments);\n }\n\n function _instantiateWithAccount() {\n _instantiateWithAccount = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee(web3Provider, context) {\n var network;\n return regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n console.debug('[kredits] Using user-provided Web3 instance, e.g. from Metamask');\n ethProvider = new _ethers.default.providers.Web3Provider(web3Provider);\n _context.next = 4;\n return ethProvider.getNetwork();\n\n case 4:\n network = _context.sent;\n\n if (!(Ember.isPresent(_environment.default.web3RequiredChainId) && network.chainId !== _environment.default.web3RequiredChainId)) {\n _context.next = 7;\n break;\n }\n\n return _context.abrupt(\"return\", instantiateWithoutAccount());\n\n case 7:\n ethProvider.listAccounts().then(function (accounts) {\n context.set('currentUserAccounts', accounts);\n var ethSigner = accounts.length === 0 ? null : ethProvider.getSigner();\n resolve({\n ethProvider: ethProvider,\n ethSigner: ethSigner\n });\n });\n\n case 8:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n return _instantiateWithAccount.apply(this, arguments);\n }\n\n if (window.ethereum) {\n if (window.ethereum.isConnected()) {\n instantiateWithAccount(window.ethereum, _this);\n } else {\n instantiateWithoutAccount();\n }\n } // Legacy dapp browsers...\n else if (window.web3) {\n instantiateWithAccount(window.web3.currentProvider, _this);\n } // Non-dapp browsers...\n else {\n instantiateWithoutAccount();\n }\n });\n },\n setup: function setup() {\n var _this2 = this;\n\n return _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2() {\n var kredits;\n return regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n _context2.next = 2;\n return _this2.getEthProvider().then(function (providerAndSigner) {\n return new _contracts.default(providerAndSigner.ethProvider, providerAndSigner.ethSigner, {\n ipfsConfig: _environment.default.ipfs\n });\n });\n\n case 2:\n kredits = _context2.sent;\n _context2.next = 5;\n return kredits.init();\n\n case 5:\n _this2.set('kredits', kredits);\n\n _context2.t0 = _this2;\n _context2.next = 9;\n return _this2.kredits.provider.getBlockNumber();\n\n case 9:\n _context2.t1 = _context2.sent;\n\n _context2.t0.set.call(_context2.t0, 'currentBlock', _context2.t1);\n\n _this2.kredits.provider.on('block', function (blockNumber) {\n console.debug('[kredits] New block mined:', blockNumber);\n\n _this2.set('currentBlock', blockNumber);\n });\n\n if (_this2.currentUserAccounts && _this2.currentUserAccounts.length > 0) {\n _this2.getCurrentUser.then(function (contributorData) {\n _this2.set('currentUser', contributorData);\n });\n }\n\n return _context2.abrupt(\"return\", kredits);\n\n case 14:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2);\n }))();\n },\n getCurrentUser: Ember.computed('kredits.provider', 'currentUserAccounts.[]', function () {\n var _this3 = this;\n\n if (Ember.isEmpty(this.currentUserAccounts)) {\n return Promise.resolve();\n }\n\n return this.kredits.Contributor.functions.getContributorIdByAddress(this.currentUserAccounts.firstObject).then(function (id) {\n // check if the user is a contributor or not\n if (id === 0) {\n return Promise.resolve();\n } else {\n return _this3.kredits.Contributor.getById(id);\n }\n });\n }),\n totalSupply: Ember.computed(function () {\n return this.kredits.Token.functions.totalSupply().then(function (total) {\n return (0, _formatKredits.default)(total);\n });\n }),\n totalKreditsEarned: Ember.computed(function () {\n return this.kredits.Contribution.functions.totalKreditsEarned(true);\n }),\n kreditsByContributor: Ember.computed('contributionsUnconfirmed.@each.vetoed', 'contributors.[]', function () {\n var _this4 = this;\n\n var contributionsUnconfirmed = this.contributionsUnconfirmed.filterBy('vetoed', false);\n var contributionsGrouped = (0, _groupBy.default)(contributionsUnconfirmed, 'contributorId');\n var contributorsWithUnconfirmed = contributionsGrouped.map(function (c) {\n return c.value;\n });\n var contributorsWithOnlyConfirmed = this.contributors.reject(function (c) {\n return contributorsWithUnconfirmed.includes(c.id);\n });\n var kreditsByContributor = contributionsGrouped.map(function (c) {\n var amountUnconfirmed = c.items.mapBy('amount').reduce(function (a, b) {\n return a + b;\n });\n\n var contributor = _this4.contributors.findBy('id', c.value);\n\n return Ember.Object.create({\n contributor: contributor,\n amountUnconfirmed: amountUnconfirmed,\n amountConfirmed: contributor.totalKreditsEarned,\n amountTotal: contributor.totalKreditsEarned + amountUnconfirmed\n });\n });\n contributorsWithOnlyConfirmed.forEach(function (c) {\n kreditsByContributor.push(Ember.Object.create({\n contributor: c,\n amountUnconfirmed: 0,\n amountConfirmed: c.totalKreditsEarned,\n amountTotal: c.totalKreditsEarned\n }));\n });\n return kreditsByContributor;\n }),\n contributionsUnconfirmed: Ember.computed('contributions.[]', 'currentBlock', function () {\n var _this5 = this;\n\n return this.contributions.filter(function (c) {\n return c.confirmedAt > _this5.currentBlock;\n });\n }),\n contributionsConfirmed: Ember.computed('contributions.[]', 'currentBlock', function () {\n var _this6 = this;\n\n return this.contributions.filterBy('vetoed', false).filter(function (c) {\n return c.confirmedAt <= _this6.currentBlock;\n });\n }),\n reimbursementsUnconfirmed: Ember.computed('reimbursements.[]', 'currentBlock', function () {\n var _this7 = this;\n\n return this.reimbursements.filter(function (r) {\n return r.confirmedAt > _this7.currentBlock;\n });\n }),\n reimbursementsConfirmed: Ember.computed('reimbursements.[]', 'currentBlock', function () {\n var _this8 = this;\n\n return this.reimbursements.filterBy('vetoed', false).filter(function (r) {\n return r.confirmedAt <= _this8.currentBlock;\n });\n }),\n reimbursementsPending: Ember.computed('reimbursements.[]', 'pendingTx', function () {\n return this.reimbursements.filter(function (r) {\n return !r.id;\n });\n }),\n loadInitialData: function loadInitialData() {\n var _this9 = this;\n\n return _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee3() {\n var numCachedContributors, numCachedContributions;\n return regeneratorRuntime.wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n _context3.next = 2;\n return _this9.browserCache.contributors.length();\n\n case 2:\n numCachedContributors = _context3.sent;\n\n if (!(numCachedContributors > 0)) {\n _context3.next = 9;\n break;\n }\n\n _context3.next = 6;\n return _this9.loadObjectsFromCache('Contributor');\n\n case 6:\n _this9.set('contributorsNeedSync', true);\n\n _context3.next = 11;\n break;\n\n case 9:\n _context3.next = 11;\n return _this9.fetchContributors();\n\n case 11:\n _context3.next = 13;\n return _this9.browserCache.contributions.length();\n\n case 13:\n numCachedContributions = _context3.sent;\n\n if (!(numCachedContributions > 0)) {\n _context3.next = 20;\n break;\n }\n\n _context3.next = 17;\n return _this9.loadObjectsFromCache('Contribution');\n\n case 17:\n _this9.set('contributionsNeedSync', true);\n\n _context3.next = 22;\n break;\n\n case 20:\n _context3.next = 22;\n return _this9.fetchContributions({\n page: {\n size: 40\n }\n });\n\n case 22:\n _context3.next = 24;\n return _this9.updateMissingHistoricContributionsCount();\n\n case 24:\n return _context3.abrupt(\"return\", Promise.resolve());\n\n case 25:\n case \"end\":\n return _context3.stop();\n }\n }\n }, _callee3);\n }))();\n },\n updateMissingHistoricContributionsCount: function updateMissingHistoricContributionsCount() {\n var _this10 = this;\n\n return _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee4() {\n var contributionsCount;\n return regeneratorRuntime.wrap(function _callee4$(_context4) {\n while (1) {\n switch (_context4.prev = _context4.next) {\n case 0:\n _context4.next = 2;\n return _this10.kredits.Contribution.count;\n\n case 2:\n contributionsCount = _context4.sent;\n\n _this10.set('missingHistoricContributionsCount', contributionsCount - _this10.contributions.length);\n\n console.debug(\"Missing \".concat(_this10.missingHistoricContributionsCount, \" historic contributions (out of \").concat(contributionsCount, \" overall)\"));\n\n case 5:\n case \"end\":\n return _context4.stop();\n }\n }\n }, _callee4);\n }))();\n },\n addContributor: function addContributor(attributes) {\n if (attributes.github_uid) {\n var uidInt = parseInt(attributes.github_uid);\n attributes.github_uid = uidInt;\n }\n\n console.debug('[kredits] add contributor', attributes);\n return this.kredits.Contributor.add(attributes, {\n gasLimit: 350000\n }).then(function (data) {\n console.debug('[kredits] add contributor response', data);\n });\n },\n updateContributor: function updateContributor(id, attributes) {\n if (attributes.github_uid) {\n var uidInt = parseInt(attributes.github_uid);\n attributes.github_uid = uidInt;\n }\n\n console.debug('[kredits] update contributor', attributes);\n return this.kredits.Contributor.updateProfile(id, attributes, {\n gasLimit: 350000\n }).then(function (data) {\n console.debug('[kredits] updateProfile response', data);\n });\n },\n fetchContributors: function fetchContributors() {\n var _this11 = this;\n\n console.debug(\"[kredits] Fetching all contributors from the network\");\n return this.kredits.Contributor.all().then(function (contributors) {\n return contributors.forEach(function (data) {\n _this11.loadContributorFromData(data);\n\n return;\n });\n }).then(function () {\n return _this11.cacheLoadedContributors();\n });\n },\n loadContributorFromData: function loadContributorFromData(data) {\n var contributor = _contributor.default.create((0, _processContributorData.default)(data));\n\n var loadedContributor = this.contributors.findBy('id', contributor.id);\n\n if (loadedContributor) {\n this.contributors.removeObject(loadedContributor);\n }\n\n this.contributors.pushObject(contributor);\n return contributor;\n },\n cacheLoadedContributors: function cacheLoadedContributors() {\n var _this12 = this;\n\n return _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee5() {\n var _iterator, _step, c;\n\n return regeneratorRuntime.wrap(function _callee5$(_context5) {\n while (1) {\n switch (_context5.prev = _context5.next) {\n case 0:\n _iterator = _createForOfIteratorHelper(_this12.contributors);\n _context5.prev = 1;\n\n _iterator.s();\n\n case 3:\n if ((_step = _iterator.n()).done) {\n _context5.next = 9;\n break;\n }\n\n c = _step.value;\n _context5.next = 7;\n return _this12.browserCache.contributors.setItem(c.id.toString(), c.serialize());\n\n case 7:\n _context5.next = 3;\n break;\n\n case 9:\n _context5.next = 14;\n break;\n\n case 11:\n _context5.prev = 11;\n _context5.t0 = _context5[\"catch\"](1);\n\n _iterator.e(_context5.t0);\n\n case 14:\n _context5.prev = 14;\n\n _iterator.f();\n\n return _context5.finish(14);\n\n case 17:\n console.debug(\"[kredits] Cached \".concat(_this12.contributors.length, \" contributors in browser storage\"));\n return _context5.abrupt(\"return\", Promise.resolve());\n\n case 19:\n case \"end\":\n return _context5.stop();\n }\n }\n }, _callee5, null, [[1, 11, 14, 17]]);\n }))();\n },\n loadContributorsFromCache: function loadContributorsFromCache() {\n var _this13 = this;\n\n return _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee6() {\n return regeneratorRuntime.wrap(function _callee6$(_context6) {\n while (1) {\n switch (_context6.prev = _context6.next) {\n case 0:\n return _context6.abrupt(\"return\", _this13.browserCache.contributors.iterate(function (value\n /*, key , iterationNumber */\n ) {\n _this13.contributors.pushObject(_contributor.default.create(JSON.parse(value)));\n }).then(function\n /* result */\n () {\n console.debug(\"[kredits] Loaded \".concat(_this13.contributors.length, \" contributors from cache\"));\n }));\n\n case 1:\n case \"end\":\n return _context6.stop();\n }\n }\n }, _callee6);\n }))();\n },\n syncContributors: (0, _emberConcurrency.task)( /*#__PURE__*/regeneratorRuntime.mark(function _callee7() {\n return regeneratorRuntime.wrap(function _callee7$(_context7) {\n while (1) {\n switch (_context7.prev = _context7.next) {\n case 0:\n _context7.next = 2;\n return this.fetchContributors();\n\n case 2:\n this.set('contributorsNeedSync', false);\n\n case 3:\n case \"end\":\n return _context7.stop();\n }\n }\n }, _callee7, this);\n })),\n addContribution: function addContribution(attributes) {\n var _this14 = this;\n\n console.debug('[kredits] Adding contribution', attributes);\n return this.kredits.Contribution.add(attributes, {\n gasLimit: 300000\n }).then(function (data) {\n console.debug('[kredits] Contribution.add response', data);\n attributes.contributor = _this14.contributors.findBy('id', attributes.contributorId);\n\n var contribution = _contribution.default.create(attributes);\n\n contribution.set('pendingTx', data);\n contribution.set('confirmedAtBlock', _this14.currentBlock + 40320);\n\n _this14.contributions.pushObject(contribution);\n\n return contribution;\n });\n },\n fetchContributions: function fetchContributions() {\n var _this15 = this;\n\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {\n page: {\n size: 200\n }\n };\n console.debug(\"[kredits] Fetching contributions from the network\");\n return this.kredits.Contribution.all(options).then(function (contributions) {\n return contributions.map(function (data) {\n var contribution = _this15.loadContributionFromData(data);\n\n return contribution;\n });\n }).then(function (contributions) {\n var cacheWrites = contributions.map(function (c) {\n return _this15.browserCache.contributions.setItem(c.id.toString(), c.serialize());\n });\n return Promise.all(cacheWrites).then(function () {\n console.debug(\"[kredits] Cached \".concat(contributions.length, \" contributions in browser storage\"));\n });\n });\n },\n loadContributionFromData: function loadContributionFromData(data) {\n var contribution = _contribution.default.create((0, _processContributionData.default)(data));\n\n contribution.set('contributor', this.contributors.findBy('id', data.contributorId));\n var loadedContribution = this.contributions.findBy('id', contribution.id);\n\n if (loadedContribution) {\n this.contributions.removeObject(loadedContribution);\n }\n\n this.contributions.pushObject(contribution);\n return contribution;\n },\n cacheLoadedContributions: function cacheLoadedContributions() {\n var _this16 = this;\n\n return _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee8() {\n var _iterator2, _step2, c;\n\n return regeneratorRuntime.wrap(function _callee8$(_context8) {\n while (1) {\n switch (_context8.prev = _context8.next) {\n case 0:\n _iterator2 = _createForOfIteratorHelper(_this16.contributions);\n _context8.prev = 1;\n\n _iterator2.s();\n\n case 3:\n if ((_step2 = _iterator2.n()).done) {\n _context8.next = 9;\n break;\n }\n\n c = _step2.value;\n _context8.next = 7;\n return _this16.browserCache.contributions.setItem(c.id.toString(), c.serialize());\n\n case 7:\n _context8.next = 3;\n break;\n\n case 9:\n _context8.next = 14;\n break;\n\n case 11:\n _context8.prev = 11;\n _context8.t0 = _context8[\"catch\"](1);\n\n _iterator2.e(_context8.t0);\n\n case 14:\n _context8.prev = 14;\n\n _iterator2.f();\n\n return _context8.finish(14);\n\n case 17:\n console.debug(\"[kredits] Cached \".concat(_this16.contributions.length, \" contributions in browser storage\"));\n return _context8.abrupt(\"return\", Promise.resolve());\n\n case 19:\n case \"end\":\n return _context8.stop();\n }\n }\n }, _callee8, null, [[1, 11, 14, 17]]);\n }))();\n },\n loadContributionsFromCache: function loadContributionsFromCache() {\n var _this17 = this;\n\n return _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee9() {\n return regeneratorRuntime.wrap(function _callee9$(_context9) {\n while (1) {\n switch (_context9.prev = _context9.next) {\n case 0:\n return _context9.abrupt(\"return\", _this17.browserCache.contributions.iterate(function (value\n /*, key , iterationNumber */\n ) {\n _this17.contributions.pushObject(_contribution.default.create(JSON.parse(value)));\n }).then(function\n /* result */\n () {\n console.debug(\"[kredits] Loaded \".concat(_this17.contributions.length, \" contributions from cache\"));\n }));\n\n case 1:\n case \"end\":\n return _context9.stop();\n }\n }\n }, _callee9);\n }))();\n },\n contributionTasks: (0, _emberConcurrency.taskGroup)().enqueue(),\n syncContributions: (0, _emberConcurrency.task)( /*#__PURE__*/regeneratorRuntime.mark(function _callee10() {\n return regeneratorRuntime.wrap(function _callee10$(_context10) {\n while (1) {\n switch (_context10.prev = _context10.next) {\n case 0:\n _context10.next = 2;\n return this.fetchNewContributions.perform();\n\n case 2:\n _context10.next = 4;\n return this.syncUnconfirmedContributions.perform();\n\n case 4:\n _context10.next = 6;\n return this.updateMissingHistoricContributionsCount();\n\n case 6:\n this.set('contributionsNeedSync', false);\n\n case 7:\n case \"end\":\n return _context10.stop();\n }\n }\n }, _callee10, this);\n })).group('contributionTasks'),\n fetchNewContributions: (0, _emberConcurrency.task)( /*#__PURE__*/regeneratorRuntime.mark(function _callee11() {\n var count, lastKnownContributionId, toFetch, id, data, c;\n return regeneratorRuntime.wrap(function _callee11$(_context11) {\n while (1) {\n switch (_context11.prev = _context11.next) {\n case 0:\n _context11.next = 2;\n return this.kredits.Contribution.count;\n\n case 2:\n count = _context11.sent;\n lastKnownContributionId = Math.max.apply(null, this.contributions.mapBy('id'));\n toFetch = count - lastKnownContributionId;\n\n if (!(toFetch > 0)) {\n _context11.next = 20;\n break;\n }\n\n console.debug(\"[kredits] Fetching \".concat(toFetch, \" new contributions\"));\n id = lastKnownContributionId;\n\n case 8:\n if (!(id <= count)) {\n _context11.next = 18;\n break;\n }\n\n _context11.next = 11;\n return this.kredits.Contribution.getById(id);\n\n case 11:\n data = _context11.sent;\n c = this.loadContributionFromData(data);\n _context11.next = 15;\n return this.browserCache.contributions.setItem(c.id.toString(), c.serialize());\n\n case 15:\n id++;\n _context11.next = 8;\n break;\n\n case 18:\n _context11.next = 21;\n break;\n\n case 20:\n console.debug(\"[kredits] No new contributions to fetch\");\n\n case 21:\n case \"end\":\n return _context11.stop();\n }\n }\n }, _callee11, this);\n })),\n fetchMissingContributions: (0, _emberConcurrency.task)( /*#__PURE__*/regeneratorRuntime.mark(function _callee12() {\n var count, allIds, loadedContributions, toFetch, countFetched, id, data, c;\n return regeneratorRuntime.wrap(function _callee12$(_context12) {\n while (1) {\n switch (_context12.prev = _context12.next) {\n case 0:\n _context12.next = 2;\n return this.kredits.Contribution.count;\n\n case 2:\n count = _context12.sent;\n allIds = _toConsumableArray(Array(count + 1).keys());\n allIds.shift(); // remove first item, which is 0\n\n loadedContributions = new Set(this.contributions.mapBy('id'));\n toFetch = allIds.filter(function (id) {\n return !loadedContributions.has(id);\n });\n\n if (!(toFetch.length === 0)) {\n _context12.next = 10;\n break;\n }\n\n console.debug(\"[kredits] No contributions left to fetch\");\n return _context12.abrupt(\"return\");\n\n case 10:\n console.debug(\"[kredits] Fetching \".concat(toFetch.length, \" past contributions\"));\n countFetched = 0;\n id = count;\n\n case 13:\n if (!(id > 0)) {\n _context12.next = 29;\n break;\n }\n\n if (!loadedContributions.has(id)) {\n _context12.next = 18;\n break;\n }\n\n return _context12.abrupt(\"continue\", 26);\n\n case 18:\n _context12.next = 20;\n return this.kredits.Contribution.getById(id);\n\n case 20:\n data = _context12.sent;\n c = this.loadContributionFromData(data);\n _context12.next = 24;\n return this.browserCache.contributions.setItem(c.id.toString(), c.serialize());\n\n case 24:\n countFetched++;\n\n if (countFetched % 20 === 0) {\n console.debug(\"[kredits] Fetched \".concat(countFetched, \" more contributions\"));\n }\n\n case 26:\n id--;\n _context12.next = 13;\n break;\n\n case 29:\n console.debug(\"[kredits] Cached \".concat(countFetched, \" past contributions\"));\n\n case 30:\n case \"end\":\n return _context12.stop();\n }\n }\n }, _callee12, this);\n })).group('contributionTasks'),\n syncUnconfirmedContributions: (0, _emberConcurrency.task)( /*#__PURE__*/regeneratorRuntime.mark(function _callee13() {\n var _iterator3, _step3, c, data, contribution;\n\n return regeneratorRuntime.wrap(function _callee13$(_context13) {\n while (1) {\n switch (_context13.prev = _context13.next) {\n case 0:\n if (!(this.contributionsUnconfirmed.length > 0)) {\n _context13.next = 25;\n break;\n }\n\n console.debug(\"[kredits] Syncing unconfirmed contributions\");\n _iterator3 = _createForOfIteratorHelper(this.contributionsUnconfirmed);\n _context13.prev = 3;\n\n _iterator3.s();\n\n case 5:\n if ((_step3 = _iterator3.n()).done) {\n _context13.next = 15;\n break;\n }\n\n c = _step3.value;\n _context13.next = 9;\n return this.kredits.Contribution.getById(c.id);\n\n case 9:\n data = _context13.sent;\n contribution = this.loadContributionFromData(data);\n _context13.next = 13;\n return this.browserCache.contributions.setItem(c.id.toString(), contribution.serialize());\n\n case 13:\n _context13.next = 5;\n break;\n\n case 15:\n _context13.next = 20;\n break;\n\n case 17:\n _context13.prev = 17;\n _context13.t0 = _context13[\"catch\"](3);\n\n _iterator3.e(_context13.t0);\n\n case 20:\n _context13.prev = 20;\n\n _iterator3.f();\n\n return _context13.finish(20);\n\n case 23:\n _context13.next = 26;\n break;\n\n case 25:\n console.debug(\"[kredits] No unconfirmed contributions to sync\");\n\n case 26:\n case \"end\":\n return _context13.stop();\n }\n }\n }, _callee13, this, [[3, 17, 20, 23]]);\n })),\n veto: function veto(contributionId) {\n console.debug('[kredits] veto against', contributionId);\n var contribution = this.contributions.findBy('id', contributionId);\n return this.kredits.Contribution.functions.veto(contributionId, {\n gasLimit: 300000\n }).then(function (data) {\n console.debug('[kredits] veto response', data);\n contribution.set('pendingTx', data);\n return data;\n });\n },\n //\n // Generic data handling (for objects that can be vetoed)\n //\n fetchObjects: function fetchObjects(objectClass) {\n var _this18 = this;\n\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n page: {\n size: 200\n }\n };\n var objectClassLowerCase = objectClass.toLowerCase();\n console.debug(\"[kredits] Fetching \".concat(objectClassLowerCase, \"s from the network\"));\n return this.kredits[objectClass].all(options).then(function (objects) {\n return objects.map(function (data) {\n var classInstance = _this18[\"load\".concat(objectClass, \"FromData\")](data);\n\n return classInstance;\n });\n }).then(function (objects) {\n var cacheWrites = objects.map(function (o) {\n return _this18.browserCache[objectClassLowerCase + 's'].setItem(o.id.toString(), o.serialize());\n });\n return Promise.all(cacheWrites).then(function () {\n console.debug(\"[kredits] Cached \".concat(objects.length, \" \").concat(objectClassLowerCase + 's', \" in browser storage\"));\n });\n });\n },\n removeObjectFromCollectionIfLoaded: function removeObjectFromCollectionIfLoaded(collection, objectId) {\n var loadedObj = this[collection].findBy('id', objectId);\n\n if (loadedObj) {\n this[collection].removeObject(loadedObj);\n }\n },\n cacheLoadedObjects: function cacheLoadedObjects(collection) {\n var _this19 = this;\n\n return _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee14() {\n var _iterator4, _step4, o;\n\n return regeneratorRuntime.wrap(function _callee14$(_context14) {\n while (1) {\n switch (_context14.prev = _context14.next) {\n case 0:\n _iterator4 = _createForOfIteratorHelper(_this19[collection]);\n _context14.prev = 1;\n\n _iterator4.s();\n\n case 3:\n if ((_step4 = _iterator4.n()).done) {\n _context14.next = 9;\n break;\n }\n\n o = _step4.value;\n _context14.next = 7;\n return _this19.browserCache[collection].setItem(o.id, o.serialize());\n\n case 7:\n _context14.next = 3;\n break;\n\n case 9:\n _context14.next = 14;\n break;\n\n case 11:\n _context14.prev = 11;\n _context14.t0 = _context14[\"catch\"](1);\n\n _iterator4.e(_context14.t0);\n\n case 14:\n _context14.prev = 14;\n\n _iterator4.f();\n\n return _context14.finish(14);\n\n case 17:\n console.debug(\"[kredits] Cached \".concat(_this19[collection].length, \" \").concat(collection, \" in browser storage\"));\n\n case 18:\n case \"end\":\n return _context14.stop();\n }\n }\n }, _callee14, null, [[1, 11, 14, 17]]);\n }))();\n },\n loadObjectsFromCache: function loadObjectsFromCache(objectClass) {\n var _this20 = this;\n\n return _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee15() {\n var collection;\n return regeneratorRuntime.wrap(function _callee15$(_context15) {\n while (1) {\n switch (_context15.prev = _context15.next) {\n case 0:\n collection = objectClass.toLowerCase() + 's';\n return _context15.abrupt(\"return\", _this20.browserCache[collection].iterate(function (value\n /*, key , iterationNumber */\n ) {\n var obj = models[objectClass].create(JSON.parse(value));\n\n _this20.removeObjectFromCollectionIfLoaded(collection, obj.id);\n\n _this20[collection].pushObject(obj);\n }).then(function\n /* result */\n () {\n console.debug(\"[kredits] Loaded \".concat(_this20[collection].length, \" \").concat(collection, \" from cache\"));\n }));\n\n case 2:\n case \"end\":\n return _context15.stop();\n }\n }\n }, _callee15);\n }))();\n },\n syncTaskGroup: (0, _emberConcurrency.taskGroup)().enqueue(),\n fetchNewObjects: (0, _emberConcurrency.task)( /*#__PURE__*/regeneratorRuntime.mark(function _callee16(objectClass) {\n var collection, count, lastKnownObjectId, toFetch, id, data, o;\n return regeneratorRuntime.wrap(function _callee16$(_context16) {\n while (1) {\n switch (_context16.prev = _context16.next) {\n case 0:\n collection = objectClass.toLowerCase() + 's';\n _context16.next = 3;\n return this.kredits[objectClass].functions[\"\".concat(collection, \"Count\")]();\n\n case 3:\n count = _context16.sent;\n lastKnownObjectId = Math.max.apply(null, this[collection].mapBy('id'));\n toFetch = count - lastKnownObjectId;\n\n if (!(toFetch > 0)) {\n _context16.next = 21;\n break;\n }\n\n console.debug(\"[kredits] Fetching \".concat(toFetch, \" new \").concat(collection));\n id = lastKnownObjectId;\n\n case 9:\n if (!(id <= count)) {\n _context16.next = 19;\n break;\n }\n\n _context16.next = 12;\n return this.kredits[objectClass].getById(id);\n\n case 12:\n data = _context16.sent;\n o = this[\"load\".concat(objectClass, \"FromData\")](data);\n _context16.next = 16;\n return this.browserCache[collection].setItem(o.id.toString(), o.serialize());\n\n case 16:\n id++;\n _context16.next = 9;\n break;\n\n case 19:\n _context16.next = 22;\n break;\n\n case 21:\n console.debug(\"[kredits] No new \".concat(collection, \" to fetch\"));\n\n case 22:\n case \"end\":\n return _context16.stop();\n }\n }\n }, _callee16, this);\n })),\n fetchMissingObjects: (0, _emberConcurrency.task)( /*#__PURE__*/regeneratorRuntime.mark(function _callee17(objectClass) {\n var collection, count, allIds, loadedObjects, toFetch, countFetched, id, data, o;\n return regeneratorRuntime.wrap(function _callee17$(_context17) {\n while (1) {\n switch (_context17.prev = _context17.next) {\n case 0:\n collection = objectClass.toLowerCase() + 's';\n _context17.next = 3;\n return this.kredits[objectClass].functions[\"\".concat(collection, \"Count\")]();\n\n case 3:\n count = _context17.sent;\n allIds = _toConsumableArray(Array(count + 1).keys());\n allIds.shift(); // remove first item, which is 0\n\n loadedObjects = new Set(this[collection].mapBy('id'));\n toFetch = allIds.filter(function (id) {\n return !loadedObjects.has(id);\n });\n\n if (!(toFetch.length === 0)) {\n _context17.next = 11;\n break;\n }\n\n console.debug(\"[kredits] No \".concat(collection, \" left to fetch\"));\n return _context17.abrupt(\"return\");\n\n case 11:\n console.debug(\"[kredits] Fetching \".concat(toFetch.length, \" past \").concat(collection));\n countFetched = 0;\n id = count;\n\n case 14:\n if (!(id > 0)) {\n _context17.next = 30;\n break;\n }\n\n if (!loadedObjects.has(id)) {\n _context17.next = 19;\n break;\n }\n\n return _context17.abrupt(\"continue\", 27);\n\n case 19:\n _context17.next = 21;\n return this.kredits[objectClass].getById(id);\n\n case 21:\n data = _context17.sent;\n o = this[\"load\".concat(objectClass, \"FromData\")](data);\n _context17.next = 25;\n return this.browserCache[collection].setItem(o.id.toString(), o.serialize());\n\n case 25:\n countFetched++;\n\n if (countFetched % 20 === 0) {\n console.debug(\"[kredits] Fetched \".concat(countFetched, \" more \").concat(collection));\n }\n\n case 27:\n id--;\n _context17.next = 14;\n break;\n\n case 30:\n console.debug(\"[kredits] Cached \".concat(countFetched, \" past \").concat(collection));\n\n case 31:\n case \"end\":\n return _context17.stop();\n }\n }\n }, _callee17, this);\n })),\n syncUnconfirmedObjects: (0, _emberConcurrency.task)( /*#__PURE__*/regeneratorRuntime.mark(function _callee18(objectClass) {\n var collection, _iterator5, _step5, o, data, object;\n\n return regeneratorRuntime.wrap(function _callee18$(_context18) {\n while (1) {\n switch (_context18.prev = _context18.next) {\n case 0:\n collection = objectClass.toLowerCase() + 's';\n\n if (!(this.get(\"\".concat(collection, \"Unconfirmed\")).length > 0)) {\n _context18.next = 28;\n break;\n }\n\n console.debug(\"[kredits] Syncing unconfirmed \".concat(collection));\n _iterator5 = _createForOfIteratorHelper(this[\"\".concat(collection, \"Unconfirmed\")]);\n _context18.prev = 4;\n\n _iterator5.s();\n\n case 6:\n if ((_step5 = _iterator5.n()).done) {\n _context18.next = 18;\n break;\n }\n\n o = _step5.value;\n\n if (!Ember.isEmpty(o.id)) {\n _context18.next = 10;\n break;\n }\n\n return _context18.abrupt(\"return\");\n\n case 10:\n _context18.next = 12;\n return this.kredits[objectClass].getById(o.id);\n\n case 12:\n data = _context18.sent;\n object = this[\"load\".concat(objectClass, \"FromData\")](data);\n _context18.next = 16;\n return this.browserCache[collection].setItem(o.id.toString(), object.serialize());\n\n case 16:\n _context18.next = 6;\n break;\n\n case 18:\n _context18.next = 23;\n break;\n\n case 20:\n _context18.prev = 20;\n _context18.t0 = _context18[\"catch\"](4);\n\n _iterator5.e(_context18.t0);\n\n case 23:\n _context18.prev = 23;\n\n _iterator5.f();\n\n return _context18.finish(23);\n\n case 26:\n _context18.next = 29;\n break;\n\n case 28:\n console.debug(\"[kredits] No unconfirmed \".concat(collection, \" to sync\"));\n\n case 29:\n case \"end\":\n return _context18.stop();\n }\n }\n }, _callee18, this, [[4, 20, 23, 26]]);\n })),\n vetoAgainstObject: function vetoAgainstObject(objectClass, objectId) {\n console.debug(\"[kredits] veto against \".concat(objectClass.toLowerCase()), objectId);\n var collection = objectClass.toLowerCase() + 's';\n var object = this[collection].findBy('id', objectId);\n return this.kredits[objectClass].functions.veto(objectId, {\n gasLimit: 300000\n }).then(function (data) {\n console.debug('[kredits] veto response', data);\n object.set('pendingTx', data);\n return data;\n });\n },\n //\n // Reimbursements\n //\n loadReimbursementFromData: function loadReimbursementFromData(data) {\n var obj = _reimbursement.default.create((0, _processReimbursementData.default)(data));\n\n obj.set('contributor', this.contributors.findBy('id', data.recipientId));\n this.removeObjectFromCollectionIfLoaded('reimbursements', obj.id);\n this.reimbursements.pushObject(obj);\n return obj;\n },\n addReimbursement: function addReimbursement(attributes) {\n var _this21 = this;\n\n console.debug('[kredits] add reimbursement', attributes);\n return this.kredits.Reimbursement.add(attributes, {\n gasLimit: 300000\n }).then(function (data) {\n console.debug('[kredits] add reimbursement response', data);\n\n var reimbursement = _reimbursement.default.create(attributes);\n\n reimbursement.setProperties({\n contributor: _this21.contributors.findBy('id', attributes.recipientId),\n pendingTx: data,\n confirmedAt: _this21.currentBlock + 40320\n });\n\n _this21.reimbursements.pushObject(reimbursement); // Listen to tx mining/execution status\n\n\n data.wait().then(function (d) {\n return console.debug('[kredits] tx successful', d);\n }).catch(function (e) {\n window.alert('The transaction failed to execute. Please check the browser console.');\n console.log('[kredits] tx error', e);\n });\n return reimbursement;\n });\n },\n syncReimbursements: (0, _emberConcurrency.task)( /*#__PURE__*/regeneratorRuntime.mark(function _callee19() {\n return regeneratorRuntime.wrap(function _callee19$(_context19) {\n while (1) {\n switch (_context19.prev = _context19.next) {\n case 0:\n _context19.next = 2;\n return this.fetchNewObjects.perform('Reimbursement');\n\n case 2:\n _context19.next = 4;\n return this.syncUnconfirmedObjects.perform('Reimbursement');\n\n case 4:\n this.set('reimbursementsNeedSync', false);\n\n case 5:\n case \"end\":\n return _context19.stop();\n }\n }\n }, _callee19, this);\n })).group('syncTaskGroup'),\n fetchMissingReimbursements: (0, _emberConcurrency.task)( /*#__PURE__*/regeneratorRuntime.mark(function _callee20() {\n return regeneratorRuntime.wrap(function _callee20$(_context20) {\n while (1) {\n switch (_context20.prev = _context20.next) {\n case 0:\n _context20.next = 2;\n return this.fetchMissingObjects.perform('Reimbursement');\n\n case 2:\n case \"end\":\n return _context20.stop();\n }\n }\n }, _callee20, this);\n })).group('syncTaskGroup'),\n vetoReimbursement: function vetoReimbursement(id) {\n console.debug('[kredits] veto against reimbursement', id);\n var reimbursement = this.reimbursements.findBy('id', id);\n return this.kredits.Reimbursement.functions.veto(id, {\n gasLimit: 300000\n }).then(function (data) {\n console.debug('[kredits] veto response', data);\n reimbursement.set('pendingTx', data);\n return data;\n });\n },\n //\n // Contract events\n //\n addContractEventHandlers: function addContractEventHandlers() {\n this.kredits.Contributor.on('ContributorProfileUpdated', this.handleContributorChange.bind(this)).on('ContributorAccountUpdated', this.handleContributorChange.bind(this)).on('ContributorAdded', this.handleContributorChange.bind(this));\n this.kredits.Contribution.on('ContributionAdded', this.handleContributionAdded.bind(this)).on('ContributionVetoed', this.handleContributionVetoed.bind(this));\n this.kredits.Reimbursement.on('ReimbursementAdded', this.handleReimbursementAdded.bind(this)).on('ReimbursementVetoed', this.handleReimbursementVetoed.bind(this));\n this.kredits.Token.on('Transfer', this.handleTransfer.bind(this));\n },\n handleContributorChange: function handleContributorChange(contributorId) {\n var _arguments = arguments,\n _this22 = this;\n\n return _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee21() {\n var _len, args, _key, contributorData, newContributor, oldContributor;\n\n return regeneratorRuntime.wrap(function _callee21$(_context21) {\n while (1) {\n switch (_context21.prev = _context21.next) {\n case 0:\n console.debug('[kredits] Contributor add/update event received for ID', contributorId);\n\n for (_len = _arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = _arguments[_key];\n }\n\n console.debug('[kredits] Event data:', args);\n _context21.next = 5;\n return _this22.kredits.Contributor.getById(contributorId);\n\n case 5:\n contributorData = _context21.sent;\n newContributor = _contributor.default.create(contributorData); // TODO check for actual differences in the contributor data first\n\n oldContributor = _this22.contributors.findBy('id', contributorId);\n\n if (oldContributor) {\n // console.debug('[kredits] cached contributor', oldContributor);\n _this22.contributors.removeObject(oldContributor);\n } // console.debug('[kredits] incoming contributor data', newContributor);\n\n\n _this22.contributors.pushObject(newContributor);\n\n case 10:\n case \"end\":\n return _context21.stop();\n }\n }\n }, _callee21);\n }))();\n },\n handleContributionAdded: function handleContributionAdded(id, contributorId, amount) {\n var _this23 = this;\n\n return _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee22() {\n var pendingContribution, data, c;\n return regeneratorRuntime.wrap(function _callee22$(_context22) {\n while (1) {\n switch (_context22.prev = _context22.next) {\n case 0:\n console.debug('[kredits] ContributionAdded event received', {\n id: id,\n contributorId: contributorId,\n amount: amount\n });\n pendingContribution = _this23.contributions.find(function (c) {\n return c.id === null && c.contributorId === contributorId && c.amount.toString() === amount.toString();\n });\n\n if (pendingContribution) {\n _this23.contributions.removeObject(pendingContribution);\n }\n\n _context22.next = 5;\n return _this23.kredits.Contribution.getById(id);\n\n case 5:\n data = _context22.sent;\n c = _this23.loadContributionFromData(data);\n _context22.next = 9;\n return _this23.browserCache.contributions.setItem(c.id.toString(), c.serialize());\n\n case 9:\n case \"end\":\n return _context22.stop();\n }\n }\n }, _callee22);\n }))();\n },\n handleContributionVetoed: function handleContributionVetoed(contributionId) {\n var _this24 = this;\n\n return _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee23() {\n var c;\n return regeneratorRuntime.wrap(function _callee23$(_context23) {\n while (1) {\n switch (_context23.prev = _context23.next) {\n case 0:\n console.debug('[kredits] ContributionVetoed event received for #', contributionId);\n c = _this24.contributions.findBy('id', contributionId);\n\n if (!c) {\n _context23.next = 8;\n break;\n }\n\n console.debug('[kredits] Updating contribution', c);\n c.set('vetoed', true);\n c.set('pendingTx', null);\n _context23.next = 8;\n return _this24.browserCache.contributions.setItem(c.id.toString(), c.serialize());\n\n case 8:\n case \"end\":\n return _context23.stop();\n }\n }\n }, _callee23);\n }))();\n },\n handleReimbursementAdded: function handleReimbursementAdded(id, addedByAccount, amount) {\n var _this25 = this;\n\n return _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee24() {\n var pendingReimbursement, data, r;\n return regeneratorRuntime.wrap(function _callee24$(_context24) {\n while (1) {\n switch (_context24.prev = _context24.next) {\n case 0:\n console.debug('[kredits] ReimbursementAdded event received', {\n id: id,\n addedByAccount: addedByAccount,\n amount: amount\n });\n pendingReimbursement = _this25.reimbursementsPending.find(function (r) {\n return r.amount.toString() === amount.toString();\n });\n\n if (pendingReimbursement) {\n console.debug('[kredits] Found a pending reimbursement matching the event. Replacing it with the final record...');\n\n _this25.reimbursements.removeObject(pendingReimbursement);\n }\n\n _context24.next = 5;\n return _this25.kredits.Reimbursement.getById(id);\n\n case 5:\n data = _context24.sent;\n r = _this25.loadReimbursementFromData(data);\n\n _this25.browserCache.reimbursements.setItem(r.id.toString(), r.serialize());\n\n case 8:\n case \"end\":\n return _context24.stop();\n }\n }\n }, _callee24);\n }))();\n },\n handleReimbursementVetoed: function handleReimbursementVetoed(id) {\n var _this26 = this;\n\n return _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee25() {\n var r;\n return regeneratorRuntime.wrap(function _callee25$(_context25) {\n while (1) {\n switch (_context25.prev = _context25.next) {\n case 0:\n console.debug(\"[kredits] ReimbursementVetoed received for #\".concat(id));\n r = _this26.reimbursements.findBy('id', id);\n console.debug('[kredits] reimbursement', r);\n\n if (r) {\n r.set('vetoed', true);\n r.set('pendingTx', null);\n\n _this26.browserCache.reimbursements.setItem(r.id.toString(), r.serialize());\n }\n\n case 4:\n case \"end\":\n return _context25.stop();\n }\n }\n }, _callee25);\n }))();\n },\n handleTransfer: function handleTransfer(from, to, value) {\n value = value.toNumber();\n this.contributors.findBy('address', from).decrementProperty('balance', value);\n this.contributors.findBy('address', to).incrementProperty('balance', value);\n }\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/services/moment\", [\"exports\", \"ember-moment/services/moment\", \"kredits-web/config/environment\"], function (_exports, _moment, _environment) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n var get = Ember.get;\n\n var _default = _moment.default.extend({\n defaultFormat: get(_environment.default, 'moment.outputFormat')\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/templates/application-loading\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.HTMLBars.template({\n \"id\": \"rH2U9nfi\",\n \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[8,\\\"loading-spinner\\\",[],[[],[]],null],[2,\\\"\\\\n\\\"]],\\\"hasEval\\\":false,\\\"upvars\\\":[]}\",\n \"meta\": {\n \"moduleName\": \"kredits-web/templates/application-loading.hbs\"\n }\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/templates/application\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.HTMLBars.template({\n \"id\": \"v+/8V/ng\",\n \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[10,\\\"header\\\"],[14,1,\\\"topbar\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"h1\\\"],[12],[8,\\\"link-to\\\",[],[[\\\"@route\\\"],[\\\"dashboard\\\"]],[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\"Kosmos Kredits\\\"]],\\\"parameters\\\":[]}]]],[13],[2,\\\"\\\\n \\\"],[8,\\\"topbar-account-panel\\\",[],[[],[]],null],[2,\\\"\\\\n\\\"],[13],[2,\\\"\\\\n\\\\n\\\"],[1,[30,[36,1],[[30,[36,0],null,null]],null]],[2,\\\"\\\\n\\\"]],\\\"hasEval\\\":false,\\\"upvars\\\":[\\\"-outlet\\\",\\\"component\\\"]}\",\n \"meta\": {\n \"moduleName\": \"kredits-web/templates/application.hbs\"\n }\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/templates/budget\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.HTMLBars.template({\n \"id\": \"7cWkGD9u\",\n \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[10,\\\"main\\\"],[14,1,\\\"budget\\\"],[12],[2,\\\"\\\\n\\\\n \\\"],[10,\\\"div\\\"],[14,1,\\\"aside\\\"],[12],[2,\\\"\\\\n \\\"],[3,\\\"
\\\"],[2,\\\"\\\\n \\\"],[3,\\\"
\\\"],[2,\\\"\\\\n \\\"],[3,\\\"

Budget

\\\"],[2,\\\"\\\\n \\\"],[3,\\\"
\\\"],[2,\\\"\\\\n \\\"],[3,\\\"
\\\"],[2,\\\"\\\\n \\\"],[3,\\\" \\\"],[2,\\\"\\\\n \\\"],[3,\\\"
\\\"],[2,\\\"\\\\n \\\"],[3,\\\"
\\\"],[2,\\\"\\\\n\\\\n \\\"],[10,\\\"section\\\"],[14,1,\\\"funds\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"header\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"h2\\\"],[12],[2,\\\"Community funds\\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"div\\\"],[14,0,\\\"content\\\"],[12],[2,\\\"\\\\n \\\"],[8,\\\"budget-balances\\\",[],[[],[]],null],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n\\\\n \\\"],[10,\\\"div\\\"],[14,1,\\\"content\\\"],[12],[2,\\\"\\\\n\\\"],[6,[37,0],[[32,0,[\\\"reimbursementsUnconfirmed\\\"]]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\" \\\"],[10,\\\"section\\\"],[14,1,\\\"expenses-unconfirmed\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"header\\\"],[14,0,\\\"with-nav\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"h2\\\"],[12],[2,\\\"Proposed Reimbursements\\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"nav\\\"],[12],[2,\\\"\\\\n \\\"],[8,\\\"link-to\\\",[[24,0,\\\"button small green\\\"]],[[\\\"@route\\\",\\\"@title\\\"],[\\\"reimbursements.new\\\",\\\"Submit a reimbursement\\\"]],[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\"add\\\"]],\\\"parameters\\\":[]}]]],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"div\\\"],[14,0,\\\"content\\\"],[12],[2,\\\"\\\\n \\\"],[8,\\\"reimbursement-list\\\",[],[[\\\"@items\\\"],[[32,0,[\\\"reimbursementsUnconfirmed\\\"]]]],null],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]]],[2,\\\"\\\\n\\\"],[6,[37,0],[[32,0,[\\\"reimbursementsConfirmed\\\"]]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\" \\\"],[10,\\\"section\\\"],[14,1,\\\"expenses-confirmed\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"header\\\"],[14,0,\\\"with-nav\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"h2\\\"],[12],[2,\\\"Confirmed Expenses\\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"nav\\\"],[12],[2,\\\"\\\\n \\\"],[8,\\\"link-to\\\",[[24,0,\\\"button small green\\\"]],[[\\\"@route\\\",\\\"@title\\\"],[\\\"reimbursements.new\\\",\\\"Submit a reimbursement\\\"]],[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\"add\\\"]],\\\"parameters\\\":[]}]]],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"div\\\"],[14,0,\\\"content\\\"],[12],[2,\\\"\\\\n \\\"],[8,\\\"reimbursement-list\\\",[],[[\\\"@items\\\"],[[32,0,[\\\"reimbursementsConfirmed\\\"]]]],null],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]]],[2,\\\" \\\"],[13],[2,\\\"\\\\n\\\\n \\\"],[10,\\\"div\\\"],[14,1,\\\"empty\\\"],[12],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n\\\\n\\\"],[13]],\\\"hasEval\\\":false,\\\"upvars\\\":[\\\"if\\\"]}\",\n \"meta\": {\n \"moduleName\": \"kredits-web/templates/budget.hbs\"\n }\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/templates/budget/expenses\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.HTMLBars.template({\n \"id\": \"GPyv0u4G\",\n \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[1,[30,[36,1],[[30,[36,0],null,null]],null]]],\\\"hasEval\\\":false,\\\"upvars\\\":[\\\"-outlet\\\",\\\"component\\\"]}\",\n \"meta\": {\n \"moduleName\": \"kredits-web/templates/budget/expenses.hbs\"\n }\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/templates/components/icon-account-gitea-kosmos-org\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.HTMLBars.template({\n \"id\": \"i2/ZI1CX\",\n \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[10,\\\"svg\\\"],[14,0,\\\"icon-gitea\\\"],[14,\\\"width\\\",\\\"400\\\"],[14,\\\"height\\\",\\\"400\\\"],[14,\\\"version\\\",\\\"1.1\\\"],[14,\\\"viewBox\\\",\\\"0 0 400 400\\\"],[14,\\\"xmlns\\\",\\\"http://www.w3.org/2000/svg\\\",\\\"http://www.w3.org/2000/xmlns/\\\"],[14,\\\"xmlns:cc\\\",\\\"http://creativecommons.org/ns#\\\"],[14,\\\"xmlns:dc\\\",\\\"http://purl.org/dc/elements/1.1/\\\"],[14,\\\"xmlns:rdf\\\",\\\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"g\\\"],[14,\\\"fill-rule\\\",\\\"evenodd\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"path\\\"],[14,\\\"d\\\",\\\"m235.61 136.7 7e-3 32.7 4.493 2.189c2.471 1.204 4.628 2.25 4.793 2.324s0.3-15.626 0.3-34.889v-35.024h-9.6l7e-3 32.7m-22.336 30.528c-2.787 0.548-5.894 2.175-8.11 4.244-2.296 2.145-1.694 0.967-24.197 47.328l-11.164 23v4.6c0 4.305 0.076 4.75 1.185 6.942 2.815 5.56 1.055 4.606 69.415 37.629l4.2 2.029h4.221c10.104 0 11.144-1.319 26.676-33.8 0.999-2.09 4.15-8.57 7.001-14.4s6.916-14.2 9.033-18.6l3.849-8 0.01-4.219c0.02-8.49-2.644-11.721-14.326-17.371-4.215-2.038-11.264-5.461-15.664-7.606-15.241-7.429-22.802-11.07-23.125-11.137-0.418-0.086-1.177 1.299-5.112 9.333l-3.234 6.6 1.19 2.2c0.654 1.21 1.308 3.038 1.454 4.063l0.265 1.862 5.747 2.8c22.047 10.742 22.975 15.314 9.007 44.377l-3.317 6.902 1.162 2.098c3.865 6.974-0.923 15.098-8.898 15.098-12.557 0-13.717-18.335-1.278-20.2l1.842-0.276 3.101-6.462c12.037-25.079 11.953-25.952-3.232-33.53l-7.333-3.659-2.319 1.032c-1.276 0.567-3.151 1.153-4.167 1.301l-1.848 0.269-6.785 13.855-6.786 13.854 1.109 1.747c6.109 9.633-5.532 20.771-14.552 13.924-6.729-5.108-4.39-16.742 3.633-18.073 0.812-0.134 1.71-0.318 1.996-0.408 0.429-0.136 6.592-12.372 13.118-26.044l1.37-2.87-0.782-1.33c-3.586-6.099 0.331-14.253 7.353-15.306l1.683-0.252 3.969-8.045c2.183-4.425 4.019-8.168 4.08-8.319s-2.979-1.758-6.755-3.571c-8.092-3.885-10.4-4.452-14.685-3.609\\\"],[12],[13],[2,\\\"\\\\n \\\"],[10,\\\"path\\\"],[14,0,\\\"fg\\\"],[14,\\\"d\\\",\\\"m73.4 97.876c-2.903 0.376-8.068 1.377-8.8 1.705-0.44 0.197-2.915 1.007-5.5 1.8s-4.7 1.617-4.7 1.831c0 0.213-0.225 0.388-0.5 0.388-0.63 1e-3 -5.615 2.344-5.893 2.771-0.114 0.175-0.837 0.638-1.607 1.029-5.482 2.788-14.835 11.523-18.63 17.4-0.639 0.99-1.274 1.89-1.409 2-0.659 0.534-4.752 8.933-5.555 11.4-0.502 1.54-1.048 2.98-1.213 3.2-0.587 0.782-2.031 7.531-2.489 11.633-0.256 2.292-0.61 4.167-0.785 4.167-0.443 0-0.403 17.45 0.042 18.305 0.199 0.382 0.566 2.748 0.816 5.258 0.493 4.939 1.847 12.516 2.428 13.578 0.198 0.363 0.83 2.369 1.405 4.459 1.927 7.009 10.26 22.927 12.44 23.764 0.303 0.116 0.55 0.481 0.55 0.812 0 0.813 10.667 11.552 12.3 12.383 0.715 0.364 1.3 0.821 1.3 1.017 0 0.195 0.945 0.934 2.1 1.642s2.19 1.41 2.3 1.561 1.28 0.875 2.6 1.609c1.32 0.735 2.67 1.552 3 1.816s1.95 1.086 3.6 1.827c1.65 0.74 3.101 1.486 3.224 1.658 0.123 0.171 1.741 0.865 3.596 1.542s3.557 1.384 3.783 1.572c0.226 0.187 2.388 0.907 4.804 1.599s4.753 1.423 5.193 1.624c1.299 0.593 7.258 1.856 12.2 2.586 2.53 0.374 4.96 0.83 5.4 1.013 1.151 0.48 8.262 1.165 15.067 1.45l5.866 0.247 0.877 2.594c0.903 2.673 4.652 10.529 5.195 10.884 0.168 0.11 0.585 0.83 0.928 1.6 0.685 1.538 1.927 3.686 2.313 4 0.135 0.11 0.826 1.19 1.536 2.4 1.544 2.634 4.561 7.175 5.293 7.968 0.289 0.313 0.975 1.236 1.525 2.051 1.729 2.563 7.039 9.405 8.557 11.025 0.244 0.26 1.523 1.692 2.843 3.183 3.476 3.925 7.354 7.774 10.261 10.183 1.397 1.157 2.629 2.223 2.739 2.368s1.096 0.884 2.191 1.643c1.094 0.758 2.33 1.681 2.745 2.051s1.229 0.911 1.809 1.203 1.884 1.026 2.897 1.632c1.952 1.167 7.201 3.093 8.428 3.093 0.402 0 0.73 0.18 0.73 0.4 0 0.511 115.46 0.557 115.77 0.046 0.121-0.194 1.074-0.482 2.119-0.639 2.437-0.365 7.765-2.307 9.27-3.378 0.64-0.456 1.334-0.829 1.542-0.829 0.451 0 5.639-3.687 8.597-6.111 2.854-2.337 5.633-5.107 8.718-8.689 1.42-1.65 2.681-3.09 2.8-3.2 0.581-0.536 5.161-6.76 5.812-7.9 0.409-0.715 0.869-1.3 1.023-1.3 0.153 0 0.938-1.125 1.742-2.5 2.068-3.533 4.108-6.822 4.561-7.352 0.213-0.248 1.043-1.755 1.845-3.348s1.62-3.1 1.818-3.348c0.687-0.864 5.069-9.661 5.555-11.152 0.269-0.825 0.642-1.5 0.829-1.5s0.878-1.396 1.536-3.101c0.658-1.706 1.671-4.047 2.251-5.203 0.581-1.156 1.405-3.116 1.832-4.356 0.426-1.239 0.934-2.453 1.129-2.696 0.194-0.244 0.946-2.154 1.671-4.244s1.446-3.89 1.602-4c0.155-0.11 0.964-2.36 1.797-5 0.832-2.64 1.627-4.89 1.766-5s0.861-2.27 1.604-4.8c0.742-2.53 1.484-4.782 1.649-5.003 0.164-0.222 0.872-2.562 1.573-5.2 0.701-2.639 1.412-4.977 1.58-5.197s0.965-3.19 1.77-6.6 1.623-6.488 1.817-6.84c0.195-0.353 0.919-3.503 1.611-7 0.692-3.498 1.431-6.678 1.642-7.068 0.211-0.389 0.938-4.169 1.616-8.4 0.677-4.23 1.388-8.052 1.579-8.492 0.192-0.44 0.708-3.77 1.147-7.4 4.258-35.198 1.497-55.451-8.208-60.199l-2.219-1.086-7.473 0.266c-4.111 0.146-7.834 0.417-8.274 0.602-0.801 0.336-13.842 0.941-52 2.412-11.22 0.433-22.2 0.881-24.4 0.997-2.2 0.115-11.334 0.415-20.298 0.665l-16.298 0.455-0.204 69.922-9.392-4.634-8e-3 -65.272-19.3-0.277c-10.615-0.153-19.84-0.441-20.5-0.642-0.66-0.2-6.69-0.551-13.4-0.779-21.82-0.743-58.18-2.495-59-2.843-0.44-0.187-4.04-0.453-8-0.591s-11.34-0.508-16.4-0.822c-8.365-0.519-22.619-0.685-25.6-0.298m13.657 31.23c0.269 0.173 0.809 3.742 1.313 8.694 0.471 4.62 1.021 8.76 1.221 9.2 0.201 0.44 0.561 2.42 0.801 4.4 0.709 5.856 2.382 15.937 2.787 16.8 0.207 0.44 0.943 3.68 1.636 7.2s1.4 6.58 1.571 6.8 0.803 2.56 1.405 5.2c0.601 2.64 1.333 5.34 1.627 6 0.293 0.66 1.193 3.63 2 6.6 0.808 2.97 1.597 5.49 1.754 5.6s0.884 2.27 1.614 4.8c0.731 2.53 1.455 4.69 1.608 4.8 0.154 0.11 0.868 2.09 1.587 4.4 0.72 2.31 1.494 4.429 1.721 4.71 0.226 0.28 0.341 0.567 0.255 0.637-0.263 0.215-9.713-1.339-10.37-1.704-0.337-0.188-1.237-0.468-2-0.623-4-0.814-10.947-2.703-11.712-3.185-0.481-0.304-1.325-0.675-1.875-0.825-1.377-0.377-5.355-1.954-5.6-2.22-0.11-0.12-1.447-0.841-2.971-1.604-1.524-0.762-3.216-1.791-3.759-2.286s-1.16-0.9-1.372-0.9c-1.422 0-11.329-9.68-12.558-12.27-0.347-0.731-0.775-1.33-0.951-1.33-0.593 0-4.638-8.175-5.591-11.3-0.519-1.705-1.071-3.1-1.226-3.1s-0.372-0.495-0.482-1.1c-0.111-0.605-0.599-3.08-1.084-5.5-1.119-5.58-1.528-15.681-0.814-20.111 0.516-3.208 1.895-8.141 2.372-8.489 0.15-0.11 0.752-1.19 1.338-2.4 2.053-4.245 6.611-8.836 11.098-11.177 1.43-0.746 2.69-1.485 2.8-1.643 0.28-0.402 6.231-2.23 8.4-2.58 0.99-0.16 2.003-0.454 2.251-0.654 0.248-0.199 2.678-0.513 5.4-0.697s5.039-0.357 5.149-0.385c0.11-0.029 0.406 0.08 0.657 0.242m131.79 38.066c2.262 0.371 16.092 6.678 15.866 7.236-0.061 0.151-1.897 3.894-4.08 8.319l-3.969 8.045-1.683 0.252c-7.022 1.053-10.939 9.207-7.353 15.306l0.782 1.33-1.37 2.87c-6.526 13.672-12.689 25.908-13.118 26.044-0.286 0.09-1.184 0.274-1.996 0.408-8.023 1.331-10.362 12.965-3.633 18.073 9.02 6.847 20.661-4.291 14.552-13.924l-1.109-1.747 6.786-13.854 6.785-13.855 1.848-0.269c1.016-0.148 2.891-0.734 4.167-1.301l2.319-1.032 7.333 3.659c15.185 7.578 15.269 8.451 3.232 33.53l-3.101 6.462-1.842 0.276c-12.439 1.865-11.279 20.2 1.278 20.2 7.975 0 12.763-8.124 8.898-15.098l-1.162-2.098 3.317-6.902c13.968-29.063 13.04-33.635-9.007-44.377l-5.747-2.8-0.265-1.862c-0.146-1.025-0.8-2.853-1.454-4.063l-1.19-2.2 3.234-6.6c3.935-8.034 4.694-9.419 5.112-9.333 0.323 0.067 7.884 3.708 23.125 11.137 4.4 2.145 11.449 5.568 15.664 7.606 11.682 5.65 14.346 8.881 14.326 17.371l-0.01 4.219-3.849 8c-2.117 4.4-6.182 12.77-9.033 18.6s-6.002 12.31-7.001 14.4c-15.532 32.481-16.572 33.8-26.676 33.8h-4.221l-4.2-2.029c-68.36-33.023-66.6-32.069-69.415-37.629-1.109-2.192-1.185-2.637-1.185-6.942v-4.6l11.164-23c22.503-46.361 21.901-45.183 24.197-47.328 3.874-3.618 8.661-5.122 13.684-4.3\\\"],[12],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n\\\"],[13],[2,\\\"\\\\n\\\"]],\\\"hasEval\\\":false,\\\"upvars\\\":[]}\",\n \"meta\": {\n \"moduleName\": \"kredits-web/templates/components/icon-account-gitea-kosmos-org.hbs\"\n }\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/templates/components/icon-account-github-com\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.HTMLBars.template({\n \"id\": \"6f7RSD0A\",\n \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[10,\\\"svg\\\"],[14,0,\\\"icon-github\\\"],[14,\\\"width\\\",\\\"260\\\"],[14,\\\"height\\\",\\\"260\\\"],[14,\\\"enable-background\\\",\\\"new 0 0 212.4575 186.23\\\"],[14,\\\"version\\\",\\\"1.1\\\"],[14,\\\"viewBox\\\",\\\"0 0 260 260\\\"],[14,\\\"xml:space\\\",\\\"preserve\\\",\\\"http://www.w3.org/XML/1998/namespace\\\"],[14,\\\"xmlns\\\",\\\"http://www.w3.org/2000/svg\\\",\\\"http://www.w3.org/2000/xmlns/\\\"],[14,\\\"xmlns:cc\\\",\\\"http://creativecommons.org/ns#\\\"],[14,\\\"xmlns:dc\\\",\\\"http://purl.org/dc/elements/1.1/\\\"],[14,\\\"xmlns:rdf\\\",\\\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"g\\\"],[14,\\\"transform\\\",\\\"translate(23.766 36.885)\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"path\\\"],[14,\\\"d\\\",\\\"m151.79 86.234c-7.078 0.1229-14.154 0.5605-21.232 0.7069-12.318 0.248-24.64 0.5664-36.961 0.512-11.176-0.0472-22.358-0.9728-33.518-0.7052-7.3164 0.1776-14.373 2.2948-20.131 7.584-9.9472 9.1368-12.522 21-11.314 33.807 1.92 20.357 9.2716 31.449 29.115 37.064 15.793 4.4704 31.963 5.2088 48.199 4.9744 5.254 0 10.51 0.1367 15.758-0.0292 12.723-0.4064 25.264-2.2072 37.358-6.3596 10.846-3.7225 18.799-10.691 22.572-22.166 2.6736-8.1288 3.7148-16.388 2.5544-24.853-1.7772-12.959-13.275-30.86-32.4-30.535zm-81.576 59.996c-8.836 0-16-8.9551-16-20 0-11.045 7.164-20 16-20s16 8.9553 16 20c0 11.045-7.164 20-16 20zm76 0c-8.836 0-16-8.9551-16-20 0-11.045 7.164-20 16-20s16 8.9553 16 20c0 11.045-7.164 20-16 20z\\\"],[14,\\\"fill\\\",\\\"none\\\"],[12],[13],[2,\\\"\\\\n \\\"],[10,\\\"path\\\"],[14,0,\\\"fg\\\"],[14,\\\"d\\\",\\\"m200.25 59.188c-2.5076-3.4493-4.3632-6.3888-3.8748-11.44 0.6796-7.0664-0.3536-14.396-1.3204-21.518-1.2188-8.9843-3.5236-17.74-7.1776-26.23-9.0332 1.9356-17.981 3.49-25.963 8.0976-8.4648 4.8908-16.695 10.215-25.08 15.25-0.9532 0.5704-2.3124 0.8848-3.3848 0.7032-17.967-3.1368-35.92-3.0196-53.898-0.086-1.3632 0.2244-3.0724-0.2345-4.2948-0.9608-4.4436-2.6604-8.6564-5.7344-13.123-8.3516-11.656-6.844-23.66-12.822-37.494-14.59-0.3928 0.8597-0.7188 1.4785-0.9612 2.1253-4.164 11.22-6.6424 22.844-7.4276 34.82-0.2872 4.3516-0.6092 8.8048 0 13.072 0.3456 2.4296-4e-3 3.8788-1.3924 5.6132-4.8516 6.0488-8.6368 12.717-11.102 20.219-4.6972 14.295-4.4004 28.861-2.2756 43.475 1.7268 11.974 4.7344 23.537 11.324 33.873 13.186 20.682 32.892 29.774 55.572 31.705 19.308 1.6464 38.8 1.1992 58.213 1.2364 13.855 0.0251 27.57-1.4924 40.715-6.6389 20.375-7.9727 33.859-22.604 40.275-44.166 3.7344-12.545 5.2324-25.396 4.8144-38.498-0.4412-13.81-4.0504-26.566-12.144-37.711zm-18.609 82.435c-3.7736 11.475-11.727 18.444-22.572 22.166-12.094 4.1524-24.635 5.9532-37.358 6.3596-5.248 0.1659-10.504 0.0292-15.758 0.0292-16.236 0.2344-32.406-0.504-48.199-4.9744-19.844-5.6152-27.195-16.707-29.115-37.064-1.2072-12.807 1.3672-24.67 11.314-33.807 5.7576-5.2892 12.814-7.4064 20.131-7.584 11.16-0.2676 22.342 0.658 33.518 0.7052 12.32 0.0544 24.642-0.264 36.961-0.512 7.0784-0.1464 14.154-0.584 21.232-0.7069 19.125-0.3243 30.623 17.576 32.4 30.535 1.1604 8.4647 0.1192 16.724-2.5544 24.853z\\\"],[12],[13],[2,\\\"\\\\n \\\"],[10,\\\"ellipse\\\"],[14,0,\\\"fg\\\"],[14,\\\"cx\\\",\\\"70.214\\\"],[14,\\\"cy\\\",\\\"126.23\\\"],[14,\\\"rx\\\",\\\"16\\\"],[14,\\\"ry\\\",\\\"20\\\"],[12],[13],[2,\\\"\\\\n \\\"],[10,\\\"ellipse\\\"],[14,0,\\\"fg\\\"],[14,\\\"cx\\\",\\\"146.21\\\"],[14,\\\"cy\\\",\\\"126.23\\\"],[14,\\\"rx\\\",\\\"16\\\"],[14,\\\"ry\\\",\\\"20\\\"],[12],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n\\\"],[13],[2,\\\"\\\\n\\\"]],\\\"hasEval\\\":false,\\\"upvars\\\":[]}\",\n \"meta\": {\n \"moduleName\": \"kredits-web/templates/components/icon-account-github-com.hbs\"\n }\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/templates/components/icon-account-wiki-kosmos-org\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.HTMLBars.template({\n \"id\": \"Jd1PFucm\",\n \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[10,\\\"svg\\\"],[14,0,\\\"icon-wiki\\\"],[14,\\\"width\\\",\\\"120\\\"],[14,\\\"height\\\",\\\"120\\\"],[14,\\\"version\\\",\\\"1.1\\\"],[14,\\\"viewBox\\\",\\\"0 0 120 120\\\"],[14,\\\"xml:space\\\",\\\"preserve\\\",\\\"http://www.w3.org/XML/1998/namespace\\\"],[14,\\\"xmlns\\\",\\\"http://www.w3.org/2000/svg\\\",\\\"http://www.w3.org/2000/xmlns/\\\"],[14,\\\"xmlns:cc\\\",\\\"http://creativecommons.org/ns#\\\"],[14,\\\"xmlns:dc\\\",\\\"http://purl.org/dc/elements/1.1/\\\"],[14,\\\"xmlns:rdf\\\",\\\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"g\\\"],[14,\\\"transform\\\",\\\"translate(18.1,3)\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"polygon\\\"],[14,0,\\\"fg\\\"],[14,\\\"transform\\\",\\\"translate(-6.2,9)\\\"],[14,\\\"points\\\",\\\"6.2 5 45.7 20.5 45.7 91 6.2 75.5\\\"],[12],[13],[2,\\\"\\\\n \\\"],[10,\\\"polygon\\\"],[14,0,\\\"fg\\\"],[14,\\\"transform\\\",\\\"translate(-6.2,9)\\\"],[14,\\\"points\\\",\\\"90 5 50.5 20.5 50.5 91 90 75.5\\\"],[12],[13],[2,\\\"\\\\n \\\"],[10,\\\"polygon\\\"],[14,0,\\\"fg\\\"],[14,\\\"transform\\\",\\\"translate(-6.2,9)\\\"],[14,\\\"points\\\",\\\"87 88 87 81.8 60.4 91\\\"],[12],[13],[2,\\\"\\\\n \\\"],[10,\\\"polygon\\\"],[14,0,\\\"fg\\\"],[14,\\\"transform\\\",\\\"translate(-6.2,9)\\\"],[14,\\\"points\\\",\\\"9.2 88 9.2 81.8 34.9 91\\\"],[12],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n\\\"],[13],[2,\\\"\\\\n\\\"]],\\\"hasEval\\\":false,\\\"upvars\\\":[]}\",\n \"meta\": {\n \"moduleName\": \"kredits-web/templates/components/icon-account-wiki-kosmos-org.hbs\"\n }\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/templates/components/icon-account-zoom-us\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.HTMLBars.template({\n \"id\": \"t+FK8DQJ\",\n \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[10,\\\"svg\\\"],[14,\\\"width\\\",\\\"256\\\"],[14,\\\"height\\\",\\\"256\\\"],[14,\\\"version\\\",\\\"1.1\\\"],[14,\\\"viewBox\\\",\\\"0 0 67.733 67.733\\\"],[14,\\\"xmlns\\\",\\\"http://www.w3.org/2000/svg\\\",\\\"http://www.w3.org/2000/xmlns/\\\"],[14,\\\"xmlns:cc\\\",\\\"http://creativecommons.org/ns#\\\"],[14,\\\"xmlns:dc\\\",\\\"http://purl.org/dc/elements/1.1/\\\"],[14,\\\"xmlns:rdf\\\",\\\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"g\\\"],[14,\\\"transform\\\",\\\"translate(0 -229.27)\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"g\\\"],[14,\\\"transform\\\",\\\"matrix(.90278 0 0 .90278 6.5684 141.05)\\\"],[14,\\\"fill-rule\\\",\\\"evenodd\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"path\\\"],[14,0,\\\"fg\\\"],[14,\\\"d\\\",\\\"m32.67 117.1c2.2056 0.1405 3.0528 0.27041 4.1992 0.64479 3.9359 1.2854 6.7418 4.6736 7.3059 8.8223 0.06615 0.48578 0.13996 1.0253 0.16431 1.1986 0.29104 2.0743 0.07488 21.552-0.25003 22.55-0.59082 1.814-1.901 2.7993-4.0537 3.0488-1.3671 0.15849-30.564 0.0701-31.846-0.0963-5.2843-0.68659-8.8934-4.001-9.7398-8.9445-0.38418-2.2439-0.62362-20.748-0.29871-23.084 0.34422-2.4746 1.7264-3.797 4.3212-4.1338 0.98769-0.12832 28.191-0.13361 30.197-6e-3\\\"],[12],[13],[2,\\\"\\\\n \\\"],[10,\\\"path\\\"],[14,0,\\\"fg\\\"],[14,\\\"d\\\",\\\"m61.114 118.11c0.56621 0.4072 0.97816 1.0565 1.1885 1.874 0.19553 0.75909 0.24474 28.04 0.05371 29.747-0.37333 3.3361-2.6305 4.0137-5.5264 1.6584-7.9722-6.4841-9.021-7.5734-9.6795-10.052-0.26008-0.97895-0.33152-10.629-0.08811-11.876 0.38021-1.9457 1.2594-3.1946 3.7383-5.3099 7.4491-6.3564 7.5914-6.4569 9.0522-6.4008 0.70723 0.0272 0.8599 0.0709 1.2613 0.3593\\\"],[12],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n\\\"],[13],[2,\\\"\\\\n\\\"]],\\\"hasEval\\\":false,\\\"upvars\\\":[]}\",\n \"meta\": {\n \"moduleName\": \"kredits-web/templates/components/icon-account-zoom-us.hbs\"\n }\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/templates/components/icon-tag\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.HTMLBars.template({\n \"id\": \"JuVyAs3U\",\n \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[10,\\\"svg\\\"],[14,\\\"xmlns\\\",\\\"http://www.w3.org/2000/svg\\\",\\\"http://www.w3.org/2000/xmlns/\\\"],[14,\\\"width\\\",\\\"24\\\"],[14,\\\"height\\\",\\\"24\\\"],[14,\\\"viewBox\\\",\\\"0 0 24 24\\\"],[14,\\\"fill\\\",\\\"none\\\"],[14,\\\"stroke\\\",\\\"currentColor\\\"],[14,\\\"stroke-width\\\",\\\"2\\\"],[14,\\\"stroke-linecap\\\",\\\"round\\\"],[14,\\\"stroke-linejoin\\\",\\\"round\\\"],[14,0,\\\"feather feather-tag\\\"],[12],[10,\\\"path\\\"],[14,\\\"d\\\",\\\"M20.59 13.41l-7.17 7.17a2 2 0 0 1-2.83 0L2 12V2h10l8.59 8.59a2 2 0 0 1 0 2.82z\\\"],[12],[13],[10,\\\"line\\\"],[14,\\\"x1\\\",\\\"7\\\"],[14,\\\"y1\\\",\\\"7\\\"],[14,\\\"x2\\\",\\\"7.01\\\"],[14,\\\"y2\\\",\\\"7\\\"],[12],[13],[13]],\\\"hasEval\\\":false,\\\"upvars\\\":[]}\",\n \"meta\": {\n \"moduleName\": \"kredits-web/templates/components/icon-tag.hbs\"\n }\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/templates/components/icon-warning\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.HTMLBars.template({\n \"id\": \"s2ZzsQPB\",\n \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[10,\\\"svg\\\"],[14,\\\"width\\\",\\\"60px\\\"],[14,\\\"height\\\",\\\"60px\\\"],[14,\\\"version\\\",\\\"1.1\\\"],[14,\\\"viewBox\\\",\\\"0 0 60 60\\\"],[14,\\\"xmlns\\\",\\\"http://www.w3.org/2000/svg\\\",\\\"http://www.w3.org/2000/xmlns/\\\"],[14,\\\"xmlns:cc\\\",\\\"http://creativecommons.org/ns#\\\"],[14,\\\"xmlns:dc\\\",\\\"http://purl.org/dc/elements/1.1/\\\"],[14,\\\"xmlns:rdf\\\",\\\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"g\\\"],[14,\\\"fill\\\",\\\"none\\\"],[14,\\\"fill-rule\\\",\\\"evenodd\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"g\\\"],[14,\\\"transform\\\",\\\"translate(-479,-238)\\\"],[14,\\\"stroke\\\",\\\"#fbe468\\\"],[14,\\\"stroke-linecap\\\",\\\"round\\\"],[14,\\\"stroke-linejoin\\\",\\\"round\\\"],[14,\\\"stroke-width\\\",\\\"1\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"g\\\"],[14,\\\"transform\\\",\\\"translate(482,244)\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"a\\\"],[14,\\\"transform\\\",\\\"translate(0,2)\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"polygon\\\"],[14,1,\\\"Triangle-58\\\"],[14,\\\"points\\\",\\\"0.15321 44 27 0 53.847 44\\\"],[12],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"rect\\\"],[14,\\\"x\\\",\\\"25\\\"],[14,\\\"y\\\",\\\"13\\\"],[14,\\\"width\\\",\\\"4\\\"],[14,\\\"height\\\",\\\"21\\\"],[12],[13],[2,\\\"\\\\n \\\"],[10,\\\"a\\\"],[14,\\\"transform\\\",\\\"translate(0,2)\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"circle\\\"],[14,\\\"cx\\\",\\\"27\\\"],[14,\\\"cy\\\",\\\"38\\\"],[14,\\\"r\\\",\\\"2\\\"],[12],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n\\\"],[13],[2,\\\"\\\\n\\\"]],\\\"hasEval\\\":false,\\\"upvars\\\":[]}\",\n \"meta\": {\n \"moduleName\": \"kredits-web/templates/components/icon-warning.hbs\"\n }\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/templates/components/icon-web-globe\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.HTMLBars.template({\n \"id\": \"CCF3RzQa\",\n \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[10,\\\"svg\\\"],[14,0,\\\"icon-web-globe\\\"],[14,\\\"width\\\",\\\"60\\\"],[14,\\\"height\\\",\\\"60\\\"],[14,\\\"enable-background\\\",\\\"new 0 0 64 64\\\"],[14,\\\"version\\\",\\\"1.1\\\"],[14,\\\"viewBox\\\",\\\"0 0 60 60\\\"],[14,\\\"xml:space\\\",\\\"preserve\\\",\\\"http://www.w3.org/XML/1998/namespace\\\"],[14,\\\"xmlns\\\",\\\"http://www.w3.org/2000/svg\\\",\\\"http://www.w3.org/2000/xmlns/\\\"],[14,\\\"xmlns:cc\\\",\\\"http://creativecommons.org/ns#\\\"],[14,\\\"xmlns:dc\\\",\\\"http://purl.org/dc/elements/1.1/\\\"],[14,\\\"xmlns:rdf\\\",\\\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"path\\\"],[14,0,\\\"fg\\\"],[14,\\\"d\\\",\\\"m48.1 14.3c-0.4-0.5-0.9-1-1.4-1.5-4.3-4.2-10.2-6.8-16.7-6.8s-12.4 2.6-16.7 6.8c-0.5 0.5-1 1-1.4 1.5-3.7 4.2-5.9 9.7-5.9 15.7s2.2 11.5 5.8 15.7c0.4 0.5 0.9 1 1.4 1.5 4.3 4.2 10.3 6.8 16.8 6.8s12.5-2.6 16.8-6.9c0.5-0.5 0.9-0.9 1.4-1.5 3.6-4.1 5.8-9.6 5.8-15.6s-2.2-11.5-5.9-15.7zm3.9 14.7h-8.1c-0.1-3-1-7.3-2.4-10.5 1.8-0.8 3.5-1.8 5.1-3 3.1 3.6 5.1 8.5 5.4 13.5zm-21-20.1c3 2.3 5.8 5.2 7.6 8.5-2.4 0.9-4.6 1.3-7.6 1.4zm-2 9.9c-3-0.1-5.2-0.6-7.6-1.4 1.8-3.3 4.6-6.3 7.6-8.5zm0 2v8.2h-10.8c0.1-3 0.9-6.8 2.3-9.8 2.7 1 5.5 1.5 8.5 1.6zm0 10.2v8c-3 0.1-5.9 0.7-8.6 1.7-1.4-3-2.1-5.7-2.3-9.7zm0 10v10.1c-3-2.3-5.8-5.3-7.7-8.6 2.4-0.9 4.7-1.4 7.7-1.5zm2 0c3 0.1 5.3 0.6 7.7 1.5-1.9 3.4-4.7 6.3-7.7 8.6zm0-2v-8h10.8c-0.1 4-0.9 6.7-2.3 9.7-2.6-1-5.5-1.5-8.5-1.7zm0-10v-8.2c3-0.1 5.8-0.7 8.5-1.6 1.4 3 2.2 6.8 2.3 9.8zm9.5-12.3c-1.7-3.2-4.1-6-6.9-8.3 4.4 0.6 8.4 2.7 11.5 5.6-1.4 1.1-3 1.9-4.6 2.7zm-14.1-8.4c-2.9 2.3-5.2 5.2-6.9 8.3-1.6-0.7-3.2-1.6-4.6-2.6 3.1-2.9 7.1-5 11.5-5.7zm-12.9 7.2c1.6 1.2 3.3 2.2 5.1 3-1.5 3.3-2.3 7.5-2.4 10.5h-8.2c0.3-5 2.3-9.9 5.5-13.5zm-5.5 15.5h8.1c0.1 4 1 7.2 2.4 10.5-1.8 0.8-3.5 1.8-5.1 3-3.2-3.7-5.1-8.5-5.4-13.5zm11.4 12.2c1.7 3.2 4.1 6.1 7 8.4-4.5-0.7-8.5-2.8-11.6-5.8 1.5-1 3-1.8 4.6-2.6zm14.2 8.5c2.9-2.4 5.3-5.2 7-8.4 1.6 0.7 3.2 1.6 4.6 2.6-3.1 3-7.2 5-11.6 5.8zm13-7.3c-1.6-1.2-3.3-2.2-5.1-3 1.4-3.2 2.3-6.5 2.4-10.5h8.1c-0.3 5.1-2.2 9.9-5.4 13.5z\\\"],[12],[13],[2,\\\"\\\\n\\\"],[13],[2,\\\"\\\\n\\\"]],\\\"hasEval\\\":false,\\\"upvars\\\":[]}\",\n \"meta\": {\n \"moduleName\": \"kredits-web/templates/components/icon-web-globe.hbs\"\n }\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/templates/contributions/new\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.HTMLBars.template({\n \"id\": \"FD6gV6zT\",\n \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[10,\\\"main\\\"],[14,0,\\\"center-column\\\"],[12],[2,\\\"\\\\n\\\\n \\\"],[10,\\\"section\\\"],[14,1,\\\"add-contribution\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"header\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"h2\\\"],[12],[2,\\\"Submit a contribution\\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n\\\\n \\\"],[10,\\\"div\\\"],[14,0,\\\"content\\\"],[12],[2,\\\"\\\\n \\\"],[8,\\\"add-contribution\\\",[],[[\\\"@attributes\\\",\\\"@save\\\"],[[32,0,[\\\"model\\\",\\\"params\\\"]],[30,[36,0],[[32,0],\\\"save\\\"],null]]],null],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n\\\\n\\\"],[13],[2,\\\"\\\\n\\\"]],\\\"hasEval\\\":false,\\\"upvars\\\":[\\\"action\\\"]}\",\n \"meta\": {\n \"moduleName\": \"kredits-web/templates/contributions/new.hbs\"\n }\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/templates/contributions/resubmit\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.HTMLBars.template({\n \"id\": \"CwFo+wqw\",\n \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[10,\\\"main\\\"],[14,0,\\\"center-column\\\"],[12],[2,\\\"\\\\n\\\\n \\\"],[10,\\\"section\\\"],[14,1,\\\"add-contribution\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"header\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"h2\\\"],[12],[2,\\\"Re-submit contribution #\\\"],[1,[32,0,[\\\"model\\\",\\\"id\\\"]]],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n\\\\n \\\"],[10,\\\"div\\\"],[14,0,\\\"content\\\"],[12],[2,\\\"\\\\n \\\"],[8,\\\"add-contribution\\\",[],[[\\\"@attributes\\\",\\\"@contributors\\\",\\\"@save\\\"],[[32,0,[\\\"attributes\\\"]],[32,0,[\\\"sortedContributors\\\"]],[30,[36,0],[[32,0],\\\"save\\\"],null]]],null],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n\\\\n\\\"],[13],[2,\\\"\\\\n\\\"]],\\\"hasEval\\\":false,\\\"upvars\\\":[\\\"action\\\"]}\",\n \"meta\": {\n \"moduleName\": \"kredits-web/templates/contributions/resubmit.hbs\"\n }\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/templates/contributors/edit\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.HTMLBars.template({\n \"id\": \"clbPf+4y\",\n \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[10,\\\"main\\\"],[14,0,\\\"center-column\\\"],[12],[2,\\\"\\\\n\\\\n \\\"],[10,\\\"section\\\"],[14,1,\\\"add-contributor\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"header\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"h2\\\"],[12],[2,\\\"Update contributor profile\\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n\\\\n \\\"],[10,\\\"div\\\"],[14,0,\\\"content\\\"],[12],[2,\\\"\\\\n \\\"],[8,\\\"add-contributor\\\",[],[[\\\"@attributes\\\",\\\"@save\\\"],[[32,0,[\\\"attributes\\\"]],[30,[36,0],[[32,0],\\\"save\\\"],null]]],null],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n\\\\n\\\"],[13],[2,\\\"\\\\n\\\"]],\\\"hasEval\\\":false,\\\"upvars\\\":[\\\"action\\\"]}\",\n \"meta\": {\n \"moduleName\": \"kredits-web/templates/contributors/edit.hbs\"\n }\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/templates/contributors/new\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.HTMLBars.template({\n \"id\": \"zY+qbRPK\",\n \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[10,\\\"main\\\"],[14,0,\\\"center-column\\\"],[12],[2,\\\"\\\\n\\\\n \\\"],[10,\\\"section\\\"],[14,1,\\\"add-contributor\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"header\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"h2\\\"],[12],[2,\\\"Add contributor profile\\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n\\\\n \\\"],[10,\\\"div\\\"],[14,0,\\\"content\\\"],[12],[2,\\\"\\\\n \\\"],[8,\\\"add-contributor\\\",[],[[\\\"@save\\\"],[[30,[36,0],[[32,0],\\\"save\\\"],null]]],null],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n\\\\n\\\"],[13],[2,\\\"\\\\n\\\"]],\\\"hasEval\\\":false,\\\"upvars\\\":[\\\"action\\\"]}\",\n \"meta\": {\n \"moduleName\": \"kredits-web/templates/contributors/new.hbs\"\n }\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/templates/dashboard\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.HTMLBars.template({\n \"id\": \"M28fbx6k\",\n \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[6,[37,2],[[32,0,[\\\"showIntroText\\\"]]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\" \\\"],[10,\\\"div\\\"],[14,1,\\\"intro\\\"],[15,0,[30,[36,2],[[32,0,[\\\"showDetailsPane\\\"]],\\\"with-details\\\"],null]],[12],[2,\\\"\\\\n \\\"],[10,\\\"h2\\\"],[12],[2,\\\"\\\\n Welcome to the contribution dashboard of the\\\\n \\\"],[10,\\\"a\\\"],[14,6,\\\"https://kosmos.org\\\"],[14,\\\"target\\\",\\\"_blank\\\"],[14,\\\"rel\\\",\\\"noreferrer noopener\\\"],[12],[2,\\\"Kosmos\\\"],[13],[2,\\\" project!\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"p\\\"],[12],[2,\\\"\\\\n If you want to learn more about what the numbers mean and how this works,\\\\n check out the\\\\n \\\"],[10,\\\"a\\\"],[14,6,\\\"https://wiki.kosmos.org/Kredits\\\"],[14,\\\"target\\\",\\\"_blank\\\"],[14,\\\"rel\\\",\\\"noreferrer noopener\\\"],[12],[2,\\\"Kredits documentation\\\"],[13],[2,\\\".\\\\n If you want to start earning kredits for your contributions,\\\\n \\\"],[8,\\\"link-to\\\",[],[[\\\"@route\\\"],[\\\"signup\\\"]],[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\"create a contributor profile\\\"]],\\\"parameters\\\":[]}]]],[2,\\\".\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]]],[2,\\\"\\\\n\\\"],[10,\\\"main\\\"],[14,1,\\\"dashboard\\\"],[15,0,[30,[36,2],[[32,0,[\\\"showDetailsPane\\\"]],\\\"with-details\\\"],null]],[12],[2,\\\"\\\\n\\\\n \\\"],[10,\\\"div\\\"],[14,1,\\\"stats\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"section\\\"],[14,1,\\\"people\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"header\\\"],[14,0,\\\"with-nav\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"h2\\\"],[12],[2,\\\"Contributors\\\"],[13],[2,\\\"\\\\n\\\"],[6,[37,2],[[32,0,[\\\"kredits\\\",\\\"hasAccounts\\\"]]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\" \\\"],[10,\\\"nav\\\"],[12],[2,\\\"\\\\n \\\"],[8,\\\"link-to\\\",[[24,0,\\\"button small green\\\"]],[[\\\"@route\\\",\\\"@title\\\"],[\\\"contributors.new\\\",\\\"Add contributor profile\\\"]],[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\"add\\\"]],\\\"parameters\\\":[]}]]],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]]],[2,\\\" \\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"div\\\"],[14,0,\\\"content\\\"],[12],[2,\\\"\\\\n \\\"],[8,\\\"contributor-list\\\",[],[[\\\"@contributorList\\\",\\\"@showUnconfirmedKredits\\\",\\\"@selectedContributorId\\\",\\\"@loading\\\"],[[32,0,[\\\"kreditsToplist\\\"]],[32,0,[\\\"showUnconfirmedKredits\\\"]],[32,0,[\\\"selectedContributorId\\\"]],[32,0,[\\\"kredits\\\",\\\"syncContributors\\\",\\\"isRunning\\\"]]]],null],[2,\\\"\\\\n\\\\n \\\"],[10,\\\"p\\\"],[14,0,\\\"stats\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"span\\\"],[14,0,\\\"number\\\"],[12],[1,[30,[36,4],[[32,0,[\\\"kredits\\\",\\\"totalKreditsEarned\\\"]]],null]],[13],[2,\\\" kredits confirmed and issued to\\\\n \\\"],[10,\\\"span\\\"],[14,0,\\\"number\\\"],[12],[1,[32,0,[\\\"contributorsWithKredits\\\",\\\"length\\\"]]],[13],[2,\\\" contributors\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"p\\\"],[14,0,\\\"stats\\\"],[12],[2,\\\"\\\\n \\\"],[8,\\\"input\\\",[[24,1,\\\"hide-unnconfirmed-kredits\\\"]],[[\\\"@type\\\",\\\"@checked\\\"],[\\\"checkbox\\\",[32,0,[\\\"showUnconfirmedKredits\\\"]]]],null],[2,\\\"\\\\n \\\"],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"hide-unnconfirmed-kredits\\\"],[12],[2,\\\"Show unconfirmed kredits in toplist\\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n\\\\n \\\"],[10,\\\"section\\\"],[14,1,\\\"contributions-by-type\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"header\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"h2\\\"],[12],[2,\\\"Contributions by type\\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"div\\\"],[14,0,\\\"content\\\"],[12],[2,\\\"\\\\n \\\"],[8,\\\"chart-contributions-by-type\\\",[],[[\\\"@contributions\\\"],[[32,0,[\\\"contributions\\\"]]]],null],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n\\\\n \\\"],[10,\\\"div\\\"],[14,1,\\\"contributions\\\"],[12],[2,\\\"\\\\n\\\"],[6,[37,2],[[32,0,[\\\"contributionsUnconfirmed\\\"]]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\" \\\"],[10,\\\"section\\\"],[14,1,\\\"contributions-unconfirmed\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"header\\\"],[14,0,\\\"with-nav\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"h2\\\"],[12],[2,\\\"\\\\n Latest Contributions\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"nav\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"button\\\"],[15,\\\"onclick\\\",[30,[36,3],[[32,0],\\\"toggleQuickFilterUnconfirmed\\\"],null]],[15,0,[31,[\\\"small \\\",[30,[36,2],[[32,0,[\\\"showQuickFilterUnconfirmed\\\"]],\\\"active\\\"],null]]]],[14,4,\\\"button\\\"],[12],[2,\\\"\\\\n filter\\\\n \\\"],[13],[2,\\\"\\\\n\\\"],[6,[37,2],[[32,0,[\\\"kredits\\\",\\\"hasAccounts\\\"]]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\" \\\"],[8,\\\"link-to\\\",[[24,0,\\\"button small green\\\"]],[[\\\"@route\\\",\\\"@title\\\"],[\\\"contributions.new\\\",\\\"Submit a contribution\\\"]],[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\"add\\\"]],\\\"parameters\\\":[]}]]],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]]],[2,\\\" \\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"div\\\"],[14,0,\\\"content\\\"],[12],[2,\\\"\\\\n\\\"],[2,\\\" \\\"],[8,\\\"contribution-list\\\",[],[[\\\"@contributions\\\",\\\"@vetoContribution\\\",\\\"@contractInteractionEnabled\\\",\\\"@selectedContributionId\\\",\\\"@showQuickFilter\\\",\\\"@loading\\\"],[[32,0,[\\\"contributionsUnconfirmedSorted\\\"]],[30,[36,3],[[32,0],\\\"vetoContribution\\\"],null],[32,0,[\\\"kredits\\\",\\\"hasAccounts\\\"]],[32,0,[\\\"selectedContributionId\\\"]],[32,0,[\\\"showQuickFilterUnconfirmed\\\"]],[32,0,[\\\"kredits\\\",\\\"syncContributions\\\",\\\"isRunning\\\"]]]],null],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]]],[2,\\\"\\\\n \\\"],[10,\\\"section\\\"],[14,1,\\\"contributions-confirmed\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"header\\\"],[14,0,\\\"with-nav\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"h2\\\"],[12],[2,\\\"Confirmed Contributions\\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"nav\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"button\\\"],[15,\\\"onclick\\\",[30,[36,3],[[32,0],\\\"toggleQuickFilterConfirmed\\\"],null]],[15,0,[31,[\\\"small \\\",[30,[36,2],[[32,0,[\\\"showQuickFilterConfirmed\\\"]],\\\"active\\\"],null]]]],[14,4,\\\"button\\\"],[12],[2,\\\"\\\\n filter\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"div\\\"],[14,0,\\\"content\\\"],[12],[2,\\\"\\\\n \\\"],[8,\\\"contribution-list\\\",[],[[\\\"@contributions\\\",\\\"@vetoContribution\\\",\\\"@selectedContributionId\\\",\\\"@showQuickFilter\\\"],[[32,0,[\\\"contributionsConfirmedSorted\\\"]],[30,[36,3],[[32,0],\\\"vetoContribution\\\"],null],[32,0,[\\\"selectedContributionId\\\"]],[32,0,[\\\"showQuickFilterConfirmed\\\"]]]],null],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n\\\\n\\\"],[6,[37,2],[[32,0,[\\\"showFullContributionSync\\\"]]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\" \\\"],[10,\\\"section\\\"],[14,1,\\\"sync-all-contributions\\\"],[12],[2,\\\"\\\\n\\\"],[6,[37,2],[[32,0,[\\\"kredits\\\",\\\"fetchMissingContributions\\\",\\\"isIdle\\\"]]],null,[[\\\"default\\\",\\\"else\\\"],[{\\\"statements\\\":[[2,\\\" \\\"],[10,\\\"p\\\"],[14,0,\\\"mb-4\\\"],[12],[2,\\\"\\\\n There are\\\\n \\\"],[10,\\\"strong\\\"],[12],[1,[32,0,[\\\"kredits\\\",\\\"missingHistoricContributionsCount\\\"]]],[13],[2,\\\"\\\\n earlier contributions, which are not currently loaded/displayed.\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"p\\\"],[12],[2,\\\"\\\\n You can fetch all historic data in one go, and have it stored locally in\\\\n your browser:\\\\n \\\"],[11,\\\"button\\\"],[24,0,\\\"small\\\"],[24,4,\\\"button\\\"],[4,[38,1],[\\\"click\\\",[30,[36,0],[[32,0,[\\\"kredits\\\",\\\"fetchMissingContributions\\\"]]],null]],null],[12],[2,\\\"\\\\n fetch all data\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[2,\\\" \\\"],[10,\\\"p\\\"],[14,0,\\\"mb-4\\\"],[12],[2,\\\"\\\\n Syncing data. Please be patient...\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"p\\\"],[12],[2,\\\"\\\\n (You can leave this website anytime and sync missing data when you come back.)\\\\n \\\"],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]]],[2,\\\" \\\"],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]]],[2,\\\" \\\"],[13],[2,\\\"\\\\n\\\\n \\\"],[10,\\\"div\\\"],[14,1,\\\"details\\\"],[12],[2,\\\"\\\\n \\\"],[1,[30,[36,6],[[30,[36,5],null,null]],null]],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n\\\\n\\\"],[13],[2,\\\"\\\\n\\\"]],\\\"hasEval\\\":false,\\\"upvars\\\":[\\\"perform\\\",\\\"on\\\",\\\"if\\\",\\\"action\\\",\\\"await\\\",\\\"-outlet\\\",\\\"component\\\"]}\",\n \"meta\": {\n \"moduleName\": \"kredits-web/templates/dashboard.hbs\"\n }\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/templates/dashboard/contributions/show\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.HTMLBars.template({\n \"id\": \"DufwIN5Z\",\n \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[10,\\\"section\\\"],[14,1,\\\"contribution-details\\\"],[15,0,[30,[36,0],[[32,0,[\\\"model\\\",\\\"vetoed\\\"]],\\\"vetoed\\\"],null]],[12],[2,\\\"\\\\n \\\"],[10,\\\"header\\\"],[14,0,\\\"with-nav\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"h2\\\"],[12],[2,\\\"Contribution #\\\"],[1,[32,0,[\\\"model\\\",\\\"id\\\"]]],[13],[2,\\\"\\\\n \\\"],[10,\\\"nav\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"span\\\"],[14,0,\\\"amount\\\"],[12],[1,[32,0,[\\\"model\\\",\\\"amount\\\"]]],[13],[2,\\\" \\\\n \\\"],[10,\\\"span\\\"],[14,0,\\\"symbol\\\"],[12],[2,\\\"₭S\\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n\\\\n \\\"],[10,\\\"div\\\"],[14,0,\\\"content\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"p\\\"],[14,0,\\\"who-what-when\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"span\\\"],[14,0,\\\"contributor\\\"],[12],[2,\\\"\\\\n \\\"],[8,\\\"user-avatar\\\",[],[[\\\"@contributor\\\"],[[32,0,[\\\"model\\\",\\\"contributor\\\"]]]],null],[2,\\\"\\\\n \\\"],[8,\\\"link-to\\\",[],[[\\\"@route\\\",\\\"@model\\\"],[\\\"dashboard.contributors.show\\\",[32,0,[\\\"model\\\",\\\"contributor\\\"]]]],[[\\\"default\\\"],[{\\\"statements\\\":[[1,[32,0,[\\\"model\\\",\\\"contributor\\\",\\\"name\\\"]]]],\\\"parameters\\\":[]}]]],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n contributed\\\\n \\\"],[10,\\\"span\\\"],[14,0,\\\"date\\\"],[15,\\\"title\\\",[32,0,[\\\"model\\\",\\\"iso8601Date\\\"]]],[12],[1,[30,[36,1],[[32,0,[\\\"model\\\",\\\"iso8601Date\\\"]]],null]],[13],[2,\\\":\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"h3\\\"],[12],[1,[32,0,[\\\"model\\\",\\\"description\\\"]]],[13],[2,\\\"\\\\n \\\"],[10,\\\"p\\\"],[12],[2,\\\"\\\\n Kind: \\\"],[1,[32,0,[\\\"model\\\",\\\"kind\\\"]]],[2,\\\"\\\\n \\\"],[10,\\\"br\\\"],[12],[13],[2,\\\"Status: \\\"],[1,[30,[36,2],[[32,0,[\\\"model\\\"]]],null]],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n\\\"],[6,[37,0],[[32,0,[\\\"model\\\",\\\"url\\\"]]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\" \\\"],[10,\\\"p\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"a\\\"],[15,6,[32,0,[\\\"model\\\",\\\"url\\\"]]],[15,\\\"title\\\",[32,0,[\\\"model\\\",\\\"description\\\"]]],[14,0,\\\"button\\\"],[14,\\\"target\\\",\\\"_blank\\\"],[14,\\\"rel\\\",\\\"noopener noreferrer\\\"],[12],[2,\\\"\\\\n Open URL\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]]],[6,[37,0],[[32,0,[\\\"model\\\",\\\"vetoed\\\"]]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\" \\\"],[10,\\\"div\\\"],[14,0,\\\"hint vetoed\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"div\\\"],[14,0,\\\"icon\\\"],[12],[2,\\\"\\\\n \\\"],[8,\\\"icon-warning\\\",[],[[],[]],null],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"p\\\"],[12],[2,\\\"\\\\n This contribution has been vetoed, meaning no\\\\n kredits will be issued.\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"p\\\"],[12],[2,\\\"\\\\n \\\"],[8,\\\"link-to\\\",[[24,0,\\\"button small green\\\"]],[[\\\"@route\\\",\\\"@model\\\"],[\\\"contributions.resubmit\\\",[32,0,[\\\"model\\\"]]]],[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\"Re-submit contribution …\\\"]],\\\"parameters\\\":[]}]]],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]]],[2,\\\" \\\"],[13],[2,\\\"\\\\n\\\\n \\\"],[10,\\\"div\\\"],[14,0,\\\"actions\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"p\\\"],[12],[2,\\\"\\\\n \\\"],[8,\\\"link-to\\\",[[24,0,\\\"button small\\\"]],[[\\\"@route\\\",\\\"@model\\\"],[\\\"contributions.resubmit\\\",[32,0,[\\\"model\\\"]]]],[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\"Copy & edit as new\\\"]],\\\"parameters\\\":[]}]]],[2,\\\"\\\\n\\\"],[6,[37,0],[[32,0,[\\\"model\\\",\\\"ipfsHash\\\"]]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\" \\\"],[10,\\\"a\\\"],[15,6,[31,[[32,0,[\\\"ipfsGatewayUrl\\\"]],\\\"/\\\",[32,0,[\\\"model\\\",\\\"ipfsHash\\\"]]]]],[14,0,\\\"button small\\\"],[14,\\\"target\\\",\\\"_blank\\\"],[14,\\\"rel\\\",\\\"noopener noreferrer\\\"],[12],[2,\\\"\\\\n Inspect IPFS data\\\\n \\\"],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]]],[2,\\\" \\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n\\\"],[13]],\\\"hasEval\\\":false,\\\"upvars\\\":[\\\"if\\\",\\\"moment-from\\\",\\\"item-status\\\"]}\",\n \"meta\": {\n \"moduleName\": \"kredits-web/templates/dashboard/contributions/show.hbs\"\n }\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/templates/dashboard/contributors/show\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.HTMLBars.template({\n \"id\": \"fKxhLwYT\",\n \"block\": \"{\\\"symbols\\\":[\\\"account\\\"],\\\"statements\\\":[[10,\\\"section\\\"],[14,1,\\\"contributor-profile\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"header\\\"],[12],[2,\\\"\\\\n \\\"],[8,\\\"user-avatar\\\",[],[[\\\"@contributor\\\",\\\"@size\\\"],[[32,0,[\\\"model\\\"]],\\\"medium\\\"]],null],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n\\\\n \\\"],[10,\\\"div\\\"],[14,0,\\\"content\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"h2\\\"],[12],[1,[32,0,[\\\"model\\\",\\\"name\\\"]]],[13],[2,\\\"\\\\n \\\"],[10,\\\"p\\\"],[14,0,\\\"role\\\"],[12],[1,[32,0,[\\\"roleName\\\"]]],[13],[2,\\\"\\\\n\\\\n \\\"],[10,\\\"ul\\\"],[14,0,\\\"external-accounts\\\"],[12],[2,\\\"\\\\n\\\"],[6,[37,1],[[30,[36,0],[[30,[36,0],[[32,0,[\\\"model\\\",\\\"accounts\\\"]]],null]],null]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\" \\\"],[10,\\\"li\\\"],[12],[2,\\\"\\\\n \\\"],[8,\\\"external-account-link\\\",[],[[\\\"@account\\\"],[[32,1]]],null],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[1]}]]],[6,[37,2],[[32,0,[\\\"model\\\",\\\"url\\\"]]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\" \\\"],[10,\\\"li\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"a\\\"],[15,6,[32,0,[\\\"model\\\",\\\"url\\\"]]],[14,\\\"target\\\",\\\"_blank\\\"],[14,\\\"rel\\\",\\\"noopener noreferrer\\\"],[14,\\\"title\\\",\\\"Website\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"span\\\"],[14,0,\\\"site\\\"],[12],[2,\\\"Web\\\"],[13],[2,\\\"\\\\n \\\"],[8,\\\"icon-web-globe\\\",[],[[],[]],null],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]]],[2,\\\" \\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"div\\\"],[14,0,\\\"actions\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"p\\\"],[12],[2,\\\"\\\\n \\\"],[8,\\\"link-to\\\",[[24,0,\\\"button green\\\"]],[[\\\"@route\\\",\\\"@query\\\"],[\\\"contributions.new\\\",[30,[36,3],null,[[\\\"contributorId\\\"],[[32,0,[\\\"model\\\",\\\"id\\\"]]]]]]],[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\"♥ Give kredits\\\"]],\\\"parameters\\\":[]}]]],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n\\\\n \\\"],[10,\\\"div\\\"],[14,0,\\\"actions\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"p\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"a\\\"],[15,6,[31,[\\\"https://rinkeby.etherscan.io/address/\\\",[32,0,[\\\"model\\\",\\\"account\\\"]]]]],[14,0,\\\"button small\\\"],[14,\\\"target\\\",\\\"_blank\\\"],[14,\\\"rel\\\",\\\"noopener noreferrer\\\"],[12],[2,\\\"Inspect Ethereum transactions\\\"],[13],[2,\\\"\\\\n\\\"],[6,[37,2],[[32,0,[\\\"model\\\",\\\"ipfsHash\\\"]]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\" \\\"],[10,\\\"a\\\"],[15,6,[31,[[32,0,[\\\"ipfsGatewayUrl\\\"]],\\\"/\\\",[32,0,[\\\"model\\\",\\\"ipfsHash\\\"]]]]],[14,0,\\\"button small\\\"],[14,\\\"target\\\",\\\"_blank\\\"],[14,\\\"rel\\\",\\\"noopener noreferrer\\\"],[12],[2,\\\"Inspect IPFS profile\\\"],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]]],[2,\\\" \\\"],[8,\\\"link-to\\\",[[24,0,\\\"button small\\\"]],[[\\\"@route\\\",\\\"@model\\\"],[\\\"contributors.edit\\\",[32,0,[\\\"model\\\"]]]],[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\"Edit profile\\\"]],\\\"parameters\\\":[]}]]],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n\\\"],[13],[2,\\\"\\\\n\\\"]],\\\"hasEval\\\":false,\\\"upvars\\\":[\\\"-track-array\\\",\\\"each\\\",\\\"if\\\",\\\"hash\\\"]}\",\n \"meta\": {\n \"moduleName\": \"kredits-web/templates/dashboard/contributors/show.hbs\"\n }\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/templates/reimbursements/new\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.HTMLBars.template({\n \"id\": \"4ZGew5Lo\",\n \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[10,\\\"main\\\"],[14,0,\\\"center-column\\\"],[12],[2,\\\"\\\\n\\\\n \\\"],[10,\\\"section\\\"],[14,1,\\\"add-item\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"header\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"h2\\\"],[12],[2,\\\"Submit a Reimbursement\\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n\\\\n \\\"],[10,\\\"div\\\"],[14,0,\\\"content\\\"],[12],[2,\\\"\\\\n \\\"],[8,\\\"add-reimbursement\\\",[],[[\\\"@attributes\\\"],[[32,0,[\\\"model\\\",\\\"params\\\"]]]],null],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n\\\\n\\\"],[13]],\\\"hasEval\\\":false,\\\"upvars\\\":[]}\",\n \"meta\": {\n \"moduleName\": \"kredits-web/templates/reimbursements/new.hbs\"\n }\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/templates/signup\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.HTMLBars.template({\n \"id\": \"vyvqw+Xa\",\n \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[10,\\\"main\\\"],[14,0,\\\"center-column\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"section\\\"],[14,1,\\\"signup\\\"],[12],[2,\\\"\\\\n \\\"],[1,[30,[36,1],[[30,[36,0],null,null]],null]],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n\\\"],[13]],\\\"hasEval\\\":false,\\\"upvars\\\":[\\\"-outlet\\\",\\\"component\\\"]}\",\n \"meta\": {\n \"moduleName\": \"kredits-web/templates/signup.hbs\"\n }\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/templates/signup/complete\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.HTMLBars.template({\n \"id\": \"x6riITpS\",\n \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[10,\\\"header\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"h2\\\"],[12],[2,\\\"Welcome aboard!\\\"],[13],[2,\\\"\\\\n\\\"],[13],[2,\\\"\\\\n\\\"],[10,\\\"div\\\"],[14,0,\\\"content text-lg text-center\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"p\\\"],[12],[2,\\\"\\\\n Congratulations. Your initial profile is now complete.\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"p\\\"],[12],[2,\\\"\\\\n Why not say hi to your fellow contributors\\\\n \\\"],[10,\\\"a\\\"],[14,6,\\\"https://wiki.kosmos.org/Main_Page#Community_.2F_Getting_in_touch_.2F_Getting_involved\\\"],[12],[2,\\\"in one of our chat rooms\\\"],[13],[2,\\\"?.\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"p\\\"],[14,0,\\\"actions\\\"],[12],[2,\\\"\\\\n \\\"],[8,\\\"link-to\\\",[[24,0,\\\"button small\\\"]],[[\\\"@route\\\"],[\\\"dashboard\\\"]],[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\"Return to dashboard\\\"]],\\\"parameters\\\":[]}]]],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n\\\"],[13]],\\\"hasEval\\\":false,\\\"upvars\\\":[]}\",\n \"meta\": {\n \"moduleName\": \"kredits-web/templates/signup/complete.hbs\"\n }\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/templates/signup/eth-account\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.HTMLBars.template({\n \"id\": \"D77FeGBj\",\n \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[10,\\\"header\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"h2\\\"],[12],[2,\\\"Complete your contributor profile\\\"],[13],[2,\\\"\\\\n\\\"],[13],[2,\\\"\\\\n\\\"],[10,\\\"div\\\"],[14,0,\\\"content text-lg\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"p\\\"],[14,0,\\\"mb-8\\\"],[12],[2,\\\"\\\\n Kredits allow you to take part in project governance, and to earn rewards for\\\\n your contributions. For both, you will need an Ethereum wallet/account.\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"form\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"p\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"label\\\"],[12],[2,\\\"\\\\n Ethereum account:\\\"],[10,\\\"br\\\"],[12],[13],[2,\\\"\\\\n \\\"],[8,\\\"input\\\",[[24,\\\"placeholder\\\",\\\"0xF18E631Ea191aE4ebE70046Fcb01a436554421BA4\\\"],[16,0,[30,[36,0],[[32,0,[\\\"isValidEthAccount\\\"]],\\\"valid\\\",\\\"\\\"],null]]],[[\\\"@type\\\",\\\"@value\\\"],[\\\"text\\\",[32,0,[\\\"ethAddress\\\"]]]],null],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"p\\\"],[14,0,\\\"actions\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"button\\\"],[15,\\\"disabled\\\",[32,0,[\\\"signupButtonDisabled\\\"]]],[15,\\\"onclick\\\",[30,[36,1],[[32,0],\\\"completeSignup\\\"],null]],[14,4,\\\"button\\\"],[12],[2,\\\"\\\\n Complete my profile\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n\\\"],[13]],\\\"hasEval\\\":false,\\\"upvars\\\":[\\\"if\\\",\\\"action\\\"]}\",\n \"meta\": {\n \"moduleName\": \"kredits-web/templates/signup/eth-account.hbs\"\n }\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/templates/signup/index\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.HTMLBars.template({\n \"id\": \"NAvcexMu\",\n \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[10,\\\"header\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"h2\\\"],[12],[2,\\\"Create your contributor profile\\\"],[13],[2,\\\"\\\\n\\\"],[13],[2,\\\"\\\\n\\\"],[10,\\\"div\\\"],[14,0,\\\"content text-lg\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"p\\\"],[12],[2,\\\"\\\\n You have already contributed to a Kosmos project, or you are interested\\\\n in contributing in the near future? Fantastic!\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"p\\\"],[12],[2,\\\"\\\\n In order to earn kredits for your contributions, you will need a\\\\n registered contributor profile. The quickest way to register is by\\\\n connecting one of the following accounts:\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"p\\\"],[14,0,\\\"actions\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"button\\\"],[15,\\\"onclick\\\",[30,[36,0],[[32,0],\\\"connectGithub\\\"],null]],[14,0,\\\"icon\\\"],[14,4,\\\"button\\\"],[12],[2,\\\"\\\\n \\\"],[8,\\\"icon-account-github-com\\\",[],[[],[]],null],[2,\\\"\\\\n Connect GitHub\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n\\\"],[13],[2,\\\"\\\\n\\\"]],\\\"hasEval\\\":false,\\\"upvars\\\":[\\\"action\\\"]}\",\n \"meta\": {\n \"moduleName\": \"kredits-web/templates/signup/index.hbs\"\n }\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/utils/format-kredits\", [\"exports\", \"ethers\"], function (_exports, _ethers) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = _default;\n\n function _default(value) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n var etherValue = _ethers.default.utils.formatEther(value);\n\n if (!options.decimals) {\n etherValue = parseInt(etherValue).toString();\n }\n\n return etherValue;\n }\n});","define(\"kredits-web/utils/get-locale\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = _default;\n\n function _default() {\n return navigator.languages && navigator.languages.length ? navigator.languages[0] : navigator.language;\n }\n});","define(\"kredits-web/utils/group-by\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = groupBy;\n\n function groupBy(collection, property) {\n var groups = Ember.A();\n var items = collection;\n\n if (items) {\n items.forEach(function (item) {\n var value = item[property];\n var group = groups.findBy('value', value);\n\n if (Ember.isPresent(group)) {\n group.items.push(item);\n } else {\n group = {\n property: property,\n value: value,\n items: [item]\n };\n groups.push(group);\n }\n });\n }\n\n return groups;\n }\n});","define(\"kredits-web/utils/is-valid-amount\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = isValidAmount;\n\n function isValidAmount(inputAmount) {\n var amount = parseFloat(inputAmount);\n\n if (Number.isNaN(amount)) {\n return false;\n } else {\n return amount > 0;\n }\n }\n});","define(\"kredits-web/utils/process-contribution-data\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = processContributionData;\n\n function processContributionData(data) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var processed = {};\n\n if (data.confirmedAtBlock && typeof data.confirmedAtBlock.toNumber === 'function') {\n processed.confirmedAt = data.confirmedAtBlock.toNumber();\n } else if (data.confirmedAt !== 'undefined') {\n processed.confirmedAt = data.confirmedAt;\n }\n\n var otherProperties = ['id', 'contributorId', 'amount', 'vetoed', 'ipfsHash', 'kind', 'description', 'url', 'date', 'time', 'pendingTx'];\n otherProperties.forEach(function (prop) {\n processed[prop] = data[prop];\n });\n\n if (options.includeDetails) {\n processed.details = data.details;\n }\n\n return processed;\n }\n});","define(\"kredits-web/utils/process-contributor-data\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = processContributorData;\n\n function processContributorData(data) {\n var _data$contributionsCo;\n\n var processed = {\n balance: data.balanceInt,\n totalKreditsEarned: data.totalKreditsEarned,\n contributionsCount: (_data$contributionsCo = data.contributionsCount) === null || _data$contributionsCo === void 0 ? void 0 : _data$contributionsCo.toNumber()\n };\n var otherProperties = ['id', 'account', 'accounts', 'ipfsHash', 'isCore', 'kind', 'name', 'url', 'github_username', 'github_uid', 'wiki_username', 'zoom_display_name'];\n otherProperties.forEach(function (prop) {\n processed[prop] = data[prop];\n });\n return processed;\n }\n});","define(\"kredits-web/utils/process-reimbursement-data\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = processReimbursementData;\n\n function processReimbursementData(data) {\n var processed = {\n amount: data.amount.toNumber()\n };\n\n if (data.confirmedAtBlock && typeof data.confirmedAtBlock.toNumber === 'function') {\n processed.confirmedAt = data.confirmedAtBlock.toNumber();\n } else if (data.confirmedAt !== 'undefined') {\n processed.confirmedAt = data.confirmedAt;\n }\n\n var otherProperties = ['id', 'recipientId', 'token', 'vetoed', 'ipfsHash', 'expenses', 'pendingTx'];\n otherProperties.forEach(function (prop) {\n processed[prop] = data[prop];\n });\n return processed;\n }\n});","define(\"kredits-web/utils/read-file-content\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = _default;\n\n function _default(file) {\n var reader = new FileReader();\n return new Promise(function (resolve, reject) {\n reader.onload = function (event) {\n return resolve(event.target.result);\n };\n\n reader.onerror = function (error) {\n return reject(error);\n };\n\n reader.readAsText(file);\n });\n }\n});","define('kredits-web/config/environment', [], function() {\n var prefix = 'kredits-web';\ntry {\n var metaName = prefix + '/config/environment';\n var rawConfig = document.querySelector('meta[name=\"' + metaName + '\"]').getAttribute('content');\n var config = JSON.parse(decodeURIComponent(rawConfig));\n\n var exports = { 'default': config };\n\n Object.defineProperty(exports, '__esModule', { value: true });\n\n return exports;\n}\ncatch(err) {\n throw new Error('Could not read config from meta tag with name \"' + metaName + '\".');\n}\n\n});\n","\n if (!runningTests) {\n require(\"kredits-web/app\")[\"default\"].create({\"name\":\"kredits-web\",\"version\":\"2.0.0-beta.3+d90ddd46\"});\n }\n \n"]} \ No newline at end of file diff --git a/release/assets/kredits-web-89113e4d5c371829e3d1b05e86cbab9b.js b/release/assets/kredits-web-ae44ce0c1a892c2da424f8002b037b86.js similarity index 81% rename from release/assets/kredits-web-89113e4d5c371829e3d1b05e86cbab9b.js rename to release/assets/kredits-web-ae44ce0c1a892c2da424f8002b037b86.js index 4a29b58..3dcb80d 100644 --- a/release/assets/kredits-web-89113e4d5c371829e3d1b05e86cbab9b.js +++ b/release/assets/kredits-web-ae44ce0c1a892c2da424f8002b037b86.js @@ -1,5 +1,5 @@ "use strict" -function _typeof(e){return(_typeof="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 _typeof(e){return(_typeof="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 _typeof(e){return(_typeof="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 _typeof(e){return(_typeof="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 _typeof(e){return(_typeof="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 _typeof(e){return(_typeof="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 _typeof(e){return(_typeof="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 _typeof(e){return(_typeof="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)}define("kredits-web/app",["exports","ember-resolver","ember-load-initializers","kredits-web/config/environment"],(function(e,t,n,r){function o(e,t){for(var n=0;ne.length)&&(t=e.length) +if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return O(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function O(e,t){(null==t||t>e.length)&&(t=e.length) for(var n=0,r=new Array(t);n0}))),this.args.addExpenseItem(o)}}])&&j(t.prototype,o),i&&j(t,i),Object.defineProperty(t,"prototype",{writable:!1}),a}(t.default),p=z(b.prototype,"amount",[o],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return"0"}}),m=z(b.prototype,"currency",[i],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return"EUR"}}),h=z(b.prototype,"date",[u],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return(0,n.default)().startOf("hour").toDate()}}),y=z(b.prototype,"title",[a],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return""}}),v=z(b.prototype,"description",[s],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return""}}),g=z(b.prototype,"url",[c],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return""}}),w=z(b.prototype,"tags",[l],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return""}}),z(b.prototype,"updateCurrency",[d],Object.getOwnPropertyDescriptor(b.prototype,"updateCurrency"),b.prototype),z(b.prototype,"submit",[f],Object.getOwnPropertyDescriptor(b.prototype,"submit"),b.prototype),b) +Ember.isPresent(this.tags)&&(o.tags=this.tags.split(",").map((function(e){return e.trim()})).filter((function(e){return e.length>0}))),this.args.addExpenseItem(o)}}])&&j(t.prototype,o),i&&j(t,i),Object.defineProperty(t,"prototype",{writable:!1}),a}(t.default),b=M(p.prototype,"amount",[o],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return"0"}}),m=M(p.prototype,"currency",[i],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return"EUR"}}),y=M(p.prototype,"date",[u],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return(0,n.default)().startOf("hour").toDate()}}),h=M(p.prototype,"title",[a],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return""}}),v=M(p.prototype,"description",[s],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return""}}),g=M(p.prototype,"url",[c],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return""}}),w=M(p.prototype,"tags",[l],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return""}}),M(p.prototype,"updateCurrency",[d],Object.getOwnPropertyDescriptor(p.prototype,"updateCurrency"),p.prototype),M(p.prototype,"submit",[f],Object.getOwnPropertyDescriptor(p.prototype,"submit"),p.prototype),p) e.default=B})),define("kredits-web/components/add-expense-item/template",["exports"],(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0 var t=Ember.HTMLBars.template({id:"xrdEJbVd",block:'{"symbols":["currency"],"statements":[[11,"form"],[24,1,"add-expense-item"],[24,"novalidate",""],[4,[38,1],["submit",[32,0,["submit"]]],null],[12],[2,"\\n "],[10,"fieldset"],[14,0,"horizontal"],[12],[2,"\\n "],[10,"label"],[12],[2,"\\n "],[10,"p"],[14,0,"label"],[12],[2,"Amount:"],[13],[2,"\\n "],[10,"p"],[12],[2,"\\n "],[8,"input",[],[["@name","@type","@placeholder","@value","@required","@pattern","@class"],["expense-amount","text","10",[32,0,["amount"]],true,"([0-9]*[.])?[0-9]+",[32,0,["amountInputClass"]]]],null],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"label"],[12],[2,"\\n "],[10,"p"],[14,0,"label"],[12],[2,"Currency:"],[13],[2,"\\n "],[10,"p"],[12],[2,"\\n "],[11,"select"],[24,"required",""],[24,3,"expense-currency"],[4,[38,1],["change",[32,0,["updateCurrency"]]],null],[12],[2,"\\n "],[10,"option"],[14,2,""],[14,"selected",""],[14,"disabled",""],[14,"hidden",""],[12],[13],[2,"\\n"],[6,[37,3],[[30,[36,2],[[30,[36,2],[[32,0,["currencies"]]],null]],null]],null,[["default"],[{"statements":[[2," "],[10,"option"],[15,2,[32,1,["code"]]],[15,"selected",[30,[36,0],[[32,0,["currency"]],[32,1,["code"]]],null]],[12],[1,[32,1,["code"]]],[13],[2,"\\n"]],"parameters":[1]}]]],[2," "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"label"],[12],[2,"\\n "],[10,"p"],[14,0,"label"],[12],[2,"Date:"],[13],[2,"\\n "],[10,"p"],[12],[2,"\\n "],[8,"ember-flatpickr",[],[["@date","@defaultDate","@maxDate","@enableTime","@onChange"],[[32,0,["date"]],[32,0,["defaultDate"]],[32,0,["defaultDate"]],false,[30,[36,5],[[30,[36,4],[[32,0,["date"]]],null]],null]]],null],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"label"],[12],[2,"\\n "],[10,"p"],[14,0,"label"],[12],[2,"Title:"],[13],[2,"\\n "],[10,"p"],[12],[2,"\\n "],[8,"input",[],[["@name","@type","@value","@required"],["expense-title","text",[32,0,["title"]],true]],null],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"label"],[12],[2,"\\n "],[10,"p"],[14,0,"label"],[12],[2,"Description (optional):"],[13],[2,"\\n "],[10,"p"],[12],[2,"\\n "],[8,"input",[],[["@name","@type","@value"],["expense-description","text",[32,0,["description"]]]],null],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"label"],[12],[2,"\\n "],[10,"p"],[14,0,"label"],[12],[2,"URL (optional):"],[13],[2,"\\n "],[10,"p"],[12],[2,"\\n "],[8,"input",[],[["@name","@type","@value"],["expense-url","url",[32,0,["url"]]]],null],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"label"],[12],[2,"\\n "],[10,"p"],[14,0,"label"],[12],[2,"Tags (comma-separated, optional):"],[13],[2,"\\n "],[10,"p"],[12],[2,"\\n "],[8,"input",[],[["@name","@type","@value"],["expense-tags","text",[32,0,["tags"]]]],null],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n\\n "],[10,"p"],[14,0,"actions"],[12],[2,"\\n "],[8,"input",[],[["@type","@value","@class","@title"],["submit","Add","green","Add item to reimbursement"]],null],[2,"\\n "],[13],[2,"\\n"],[13]],"hasEval":false,"upvars":["eq","on","-track-array","each","mut","fn"]}',meta:{moduleName:"kredits-web/components/add-expense-item/template.hbs"}}) -e.default=t})),define("kredits-web/components/add-reimbursement/component",["exports","@glimmer/component","kredits-web/utils/is-valid-amount","kredits-web/utils/read-file-content","kredits-web/config/environment"],(function(e,t,n,r,o){var i,u,a,s,c,l,d,f,b,p,m,h,y,v,g,w,k,x,O,_,j,P,E,C,S -function R(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"] +e.default=t})),define("kredits-web/components/add-reimbursement/component",["exports","@glimmer/component","kredits-web/utils/is-valid-amount","kredits-web/utils/read-file-content","kredits-web/config/environment"],(function(e,t,n,r,o){var i,u,a,s,c,l,d,f,p,b,m,y,h,v,g,w,k,O,_,x,j,P,E,C,R +function S(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"] if(!n){if(Array.isArray(e)||(n=function(e,t){if(!e)return -if("string"==typeof e)return M(e,t) +if("string"==typeof e)return z(e,t) var n=Object.prototype.toString.call(e).slice(8,-1) "Object"===n&&e.constructor&&(n=e.constructor.name) if("Map"===n||"Set"===n)return Array.from(e) -if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return M(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n) +if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return z(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n) var r=0,o=function(){} return{s:o,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:o}}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 i,u=!0,a=!1 return{s:function(){n=n.call(e)},n:function(){var e=n.next() -return u=e.done,e},e:function(e){a=!0,i=e},f:function(){try{u||null==n.return||n.return()}finally{if(a)throw i}}}}function M(e,t){(null==t||t>e.length)&&(t=e.length) +return u=e.done,e},e:function(e){a=!0,i=e},f:function(){try{u||null==n.return||n.return()}finally{if(a)throw i}}}}function z(e,t){(null==t||t>e.length)&&(t=e.length) for(var n=0,r=new Array(t);n0?e.mapBy("amount").reduce((function(e,t){return e+t})):0}},{key:"totalUSD",get:function(){var e=this.expenses.filterBy("currency","USD") return e.length>0?e.mapBy("amount").reduce((function(e,t){return e+t})):0}},{key:"submitButtonEnabled",get:function(){return this.isValidTotal&&this.expenses.length>0}},{key:"submitButtonDisabled",get:function(){return!this.submitButtonEnabled}},{key:"scrollToExpenseItemForm",value:function(){document.getElementById("new-expense-item").scrollIntoView()}},{key:"updateTotalAmountFromFiat",value:function(){var e=parseFloat(this.total) this.exchangeRates.btceur>0&&this.totalEUR>0&&(e+=this.totalEUR/this.exchangeRates.btceur),this.exchangeRates.btcusd>0&&this.totalUSD>0&&(e+=this.totalUSD/this.exchangeRates.btcusd),0===this.totalUSD&&0===this.totalEUR&&(e=0),this.total=e.toFixed(8)}},{key:"addExpensesFromFile",value:(a=regeneratorRuntime.mark((function e(t){var n,o,i,u,a return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,(0,r.default)(t.target.files[0]) -case 2:if(n=e.sent,(o=JSON.parse(n))instanceof Array){i=R(o) +case 2:if(n=e.sent,(o=JSON.parse(n))instanceof Array){i=S(o) try{for(i.s();!(u=i.n()).done;)a=u.value,this.addExpenseItem(a)}catch(s){i.e(s)}finally{i.f()}}else console.warn("Expenses in file must be a list of items:"),console.debug(n) case 5:case"end":return e.stop()}}),e,this)})),s=function(){var e=this,t=arguments return new Promise((function(n,r){var o=a.apply(e,t) -function i(e){z(o,n,r,i,u,"next",e)}function u(e){z(o,n,r,i,u,"throw",e)}i(void 0)}))},function(e){return s.apply(this,arguments)})},{key:"updateContributor",value:function(e){this.recipientId=e.target.value}},{key:"showExpenseForm",value:function(){this.expenseFormVisible=!0,Ember.run.scheduleOnce("afterRender",this,this.scrollToExpenseItemForm)}},{key:"addExpenseItem",value:function(e){this.expenses.pushObject(e),this.updateTotalAmountFromFiat(),this.expenseFormVisible=!1}},{key:"removeExpenseItem",value:function(e){this.expenses.removeObject(e),this.updateTotalAmountFromFiat(),0===this.expenses.length&&(this.expenseFormVisible=!0)}},{key:"submit",value:function(e){var t=this +function i(e){M(o,n,r,i,u,"next",e)}function u(e){M(o,n,r,i,u,"throw",e)}i(void 0)}))},function(e){return s.apply(this,arguments)})},{key:"updateContributor",value:function(e){this.recipientId=e.target.value}},{key:"showExpenseForm",value:function(){this.expenseFormVisible=!0,Ember.run.scheduleOnce("afterRender",this,this.scrollToExpenseItemForm)}},{key:"addExpenseItem",value:function(e){this.expenses.pushObject(e),this.updateTotalAmountFromFiat(),this.expenseFormVisible=!1}},{key:"removeExpenseItem",value:function(e){this.expenses.removeObject(e),this.updateTotalAmountFromFiat(),0===this.expenses.length&&(this.expenseFormVisible=!0)}},{key:"submit",value:function(e){var t=this if(e.preventDefault(),!this.kredits.currentUser)return window.alert("You need to connect your RSK account first."),!1 if(!this.kredits.currentUserIsCore)return window.alert("Only core contributors can submit reimbursements."),!1 var n=this.contributors.findBy("id",parseInt(this.recipientId)),r={amount:parseInt(1e8*parseFloat(this.total)),token:o.default.tokens.BTC,recipientId:parseInt(this.recipientId),title:"Expenses covered by ".concat(n.name),description:this.description,url:this.url,expenses:JSON.parse(JSON.stringify(this.expenses))} -this.inProgress=!0,this.kredits.addReimbursement(r).then((function(){t.router.transitionTo("budget")})).catch((function(e){console.error("Could not add reimbursement:",e),window.alert("Something went wrong. Please check the browser console.")})).finally((function(){t.inProgress=!1}))}}])&&A(t.prototype,i),u&&A(t,u),Object.defineProperty(t,"prototype",{writable:!1}),l}(t.default),k=L(w.prototype,"router",[i],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),x=L(w.prototype,"kredits",[u],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),O=L(w.prototype,"exchangeRates",[a],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),_=L(w.prototype,"contributors",[s],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),j=L(w.prototype,"recipientId",[c],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return null}}),P=L(w.prototype,"title",[l],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return""}}),E=L(w.prototype,"total",[d],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return"0"}}),C=L(w.prototype,"expenses",[f],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return Ember.A([])}}),S=L(w.prototype,"expenseFormVisible",[b],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!0}}),L(w.prototype,"addExpensesFromFile",[p],Object.getOwnPropertyDescriptor(w.prototype,"addExpensesFromFile"),w.prototype),L(w.prototype,"updateContributor",[m],Object.getOwnPropertyDescriptor(w.prototype,"updateContributor"),w.prototype),L(w.prototype,"showExpenseForm",[h],Object.getOwnPropertyDescriptor(w.prototype,"showExpenseForm"),w.prototype),L(w.prototype,"addExpenseItem",[y],Object.getOwnPropertyDescriptor(w.prototype,"addExpenseItem"),w.prototype),L(w.prototype,"removeExpenseItem",[v],Object.getOwnPropertyDescriptor(w.prototype,"removeExpenseItem"),w.prototype),L(w.prototype,"submit",[g],Object.getOwnPropertyDescriptor(w.prototype,"submit"),w.prototype),w) +this.inProgress=!0,this.kredits.addReimbursement(r).then((function(){t.router.transitionTo("budget")})).catch((function(e){console.error("Could not add reimbursement:",e),window.alert("Something went wrong. Please check the browser console.")})).finally((function(){t.inProgress=!1}))}}])&&A(t.prototype,i),u&&A(t,u),Object.defineProperty(t,"prototype",{writable:!1}),l}(t.default),k=L(w.prototype,"router",[i],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),O=L(w.prototype,"kredits",[u],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),_=L(w.prototype,"exchangeRates",[a],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),x=L(w.prototype,"contributors",[s],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),j=L(w.prototype,"recipientId",[c],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return null}}),P=L(w.prototype,"title",[l],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return""}}),E=L(w.prototype,"total",[d],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return"0"}}),C=L(w.prototype,"expenses",[f],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return Ember.A([])}}),R=L(w.prototype,"expenseFormVisible",[p],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!0}}),L(w.prototype,"addExpensesFromFile",[b],Object.getOwnPropertyDescriptor(w.prototype,"addExpensesFromFile"),w.prototype),L(w.prototype,"updateContributor",[m],Object.getOwnPropertyDescriptor(w.prototype,"updateContributor"),w.prototype),L(w.prototype,"showExpenseForm",[y],Object.getOwnPropertyDescriptor(w.prototype,"showExpenseForm"),w.prototype),L(w.prototype,"addExpenseItem",[h],Object.getOwnPropertyDescriptor(w.prototype,"addExpenseItem"),w.prototype),L(w.prototype,"removeExpenseItem",[v],Object.getOwnPropertyDescriptor(w.prototype,"removeExpenseItem"),w.prototype),L(w.prototype,"submit",[g],Object.getOwnPropertyDescriptor(w.prototype,"submit"),w.prototype),w) e.default=H})),define("kredits-web/components/add-reimbursement/template",["exports"],(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0 var t=Ember.HTMLBars.template({id:"GxxUddPT",block:'{"symbols":["contributor"],"statements":[[11,"form"],[24,"novalidate",""],[4,[38,1],["submit",[32,0,["submit"]]],null],[12],[2,"\\n "],[10,"label"],[12],[2,"\\n "],[10,"p"],[14,0,"label"],[12],[2,"Contributor:"],[13],[2,"\\n "],[10,"p"],[12],[2,"\\n "],[11,"select"],[24,"required",""],[4,[38,1],["change",[32,0,["updateContributor"]]],null],[12],[2,"\\n "],[10,"option"],[14,2,""],[14,"selected",""],[14,"disabled",""],[14,"hidden",""],[12],[13],[2,"\\n"],[6,[37,4],[[30,[36,3],[[30,[36,3],[[32,0,["contributors"]]],null]],null]],null,[["default"],[{"statements":[[2," "],[10,"option"],[15,2,[32,1,["id"]]],[15,"selected",[30,[36,2],[[32,0,["contributorId"]],[32,1,["id"]]],null]],[12],[1,[32,1,["name"]]],[13],[2,"\\n"]],"parameters":[1]}]]],[2," "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"fieldset"],[14,0,"horizontal thirds total-amounts"],[12],[2,"\\n "],[10,"label"],[12],[2,"\\n "],[10,"p"],[14,0,"label"],[12],[2,"Total amount (BTC):"],[13],[2,"\\n "],[10,"p"],[12],[2,"\\n "],[8,"input",[],[["@type","@placeholder","@value","@required","@pattern","@class"],["text","0.0015",[32,0,["total"]],true,"([0-9]*[.])?[0-9]+",[32,0,["totalInputClass"]]]],null],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"label"],[12],[2,"\\n "],[10,"p"],[14,0,"label"],[12],[2,"EUR total"],[13],[2,"\\n "],[10,"p"],[12],[2,"\\n "],[8,"input",[],[["@type","@name","@value","@disabled"],["text","total-eur",[32,0,["totalEUR"]],true]],null],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"label"],[12],[2,"\\n "],[10,"p"],[14,0,"label"],[12],[2,"USD total"],[13],[2,"\\n "],[10,"p"],[12],[2,"\\n "],[8,"input",[],[["@type","@name","@value","@disabled"],["text","total-usd",[32,0,["totalUSD"]],true]],null],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n\\n "],[10,"h3"],[12],[2,"Expense items"],[13],[2,"\\n"],[6,[37,5],[[32,0,["expenses"]]],null,[["default","else"],[{"statements":[[2," "],[8,"expense-list",[],[["@expenses","@removeExpenseItem","@deletable"],[[32,0,["expenses"]],[32,0,["removeExpenseItem"]],true]],null],[2,"\\n\\n "],[10,"p"],[14,0,"actions"],[12],[2,"\\n "],[11,"button"],[24,0,"green small"],[24,4,"button"],[4,[38,1],["click",[32,0,["showExpenseForm"]]],null],[12],[2,"+ Add another item"],[13],[2,"\\n "],[13],[2,"\\n"]],"parameters":[]},{"statements":[[2," "],[10,"p"],[12],[2,"No line items yet."],[13],[2,"\\n"]],"parameters":[]}]]],[2,"\\n "],[10,"p"],[14,0,"actions"],[12],[2,"\\n"],[6,[37,5],[[32,0,["inProgress"]]],null,[["default","else"],[{"statements":[[2," "],[8,"input",[],[["@type","@value","@disabled","@title"],["submit","Submitting...",true,"Submit/propose this reimbursement"]],null],[2,"\\n"]],"parameters":[]},{"statements":[[2," "],[8,"input",[],[["@type","@value","@disabled","@title"],["submit","Submit",[32,0,["submitButtonDisabled"]],"Submit/propose this reimbursement"]],null],[2,"\\n"]],"parameters":[]}]]],[2," "],[13],[2,"\\n\\n"],[6,[37,5],[[32,0,["expenseFormVisible"]]],null,[["default"],[{"statements":[[2," "],[10,"h3"],[14,1,"new-expense-item"],[12],[2,"New expense item"],[13],[2,"\\n "],[8,"add-expense-item",[],[["@addExpenseItem"],[[30,[36,0],[[32,0,["addExpenseItem"]]],null]]],null],[2,"\\n"]],"parameters":[]}]]],[13],[2,"\\n"],[10,"form"],[14,1,"add-expenses-from-file"],[12],[2,"\\n "],[10,"h3"],[12],[2,"Add expense items from file"],[13],[2,"\\n "],[10,"input"],[14,"multiple","false"],[15,"onchange",[30,[36,0],[[32,0,["addExpensesFromFile"]]],null]],[14,"accept","application/json"],[14,4,"file"],[12],[13],[2,"\\n"],[13],[2,"\\n"]],"hasEval":false,"upvars":["fn","on","eq","-track-array","each","if"]}',meta:{moduleName:"kredits-web/components/add-reimbursement/template.hbs"}}) e.default=t})),define("kredits-web/components/budget-balances/component",["exports","@glimmer/component"],(function(e,t){var n,r,o,i,u @@ -135,22 +135,22 @@ r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Obj 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}}() -return function(){var n,r=p(e) -if(t){var o=p(this).constructor +return function(){var n,r=b(e) +if(t){var o=b(this).constructor n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments) return f(this,n)}}function f(e,t){if(t&&("object"===_typeof(t)||"function"==typeof t))return t if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined") -return b(e)}function b(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called") -return e}function p(e){return(p=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function m(e,t,n,r,o){var i={} +return p(e)}function p(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called") +return e}function b(e){return(b=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function m(e,t,n,r,o){var i={} return Object.keys(r).forEach((function(e){i[e]=r[e]})),i.enumerable=!!i.enumerable,i.configurable=!!i.configurable,("value"in i||i.initializer)&&(i.writable=!0),i=n.slice().reverse().reduce((function(n,r){return r(e,t,n)||n}),i),o&&void 0!==i.initializer&&(i.value=i.initializer?i.initializer.call(o):void 0,i.initializer=void 0),void 0===i.initializer&&(Object.defineProperty(e,t,i),i=null),i}Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0 -var h=(n=Ember.inject.service,r=Ember.computed.alias("communityFunds.balances"),o=function(e){(function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function") +var y=(n=Ember.inject.service,r=Ember.computed.alias("communityFunds.balances"),o=function(e){(function(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}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&l(e,t)})(f,e) var t,n,r,o=d(f) function f(){var e s(this,f) for(var t=arguments.length,n=new Array(t),r=0;r1&&void 0!==arguments[1]?arguments[1]:{},o=t.default.APP.version,i=r.versionOnly||r.hideSha,u=r.shaOnly||r.hideVersion,a=null +e.default=n})),define("kredits-web/controllers/signup/account",["exports","kredits-web/config/environment","web3-utils"],(function(e,t,n){var r,o,i,u,a,s +function c(e,t,n,r){n&&Object.defineProperty(e,t,{enumerable:n.enumerable,configurable:n.configurable,writable:n.writable,value:n.initializer?n.initializer.call(r):void 0})}function l(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function d(e,t){for(var n=0;n1&&void 0!==arguments[1]?arguments[1]:{},o=t.default.APP.version,i=r.versionOnly||r.hideSha,u=r.shaOnly||r.hideVersion,a=null return i&&(r.showExtended&&(a=o.match(n.versionExtendedRegExp)),a||(a=o.match(n.versionRegExp))),u&&(a=o.match(n.shaRegExp)),a?a[0]:o}Object.defineProperty(e,"__esModule",{value:!0}),e.appVersion=r,e.default=void 0 var o=Ember.Helper.helper(r) e.default=o})),define("kredits-web/helpers/await",["exports","ember-promise-helpers/helpers/await"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})})),define("kredits-web/helpers/cancel-all",["exports","ember-concurrency/helpers/cancel-all"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})})),define("kredits-web/helpers/capitalize-string",["exports"],(function(e){function t(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"] @@ -330,7 +380,7 @@ e.default=n})),define("kredits-web/helpers/fmt-fiat-currency",["exports"],(funct var t=Ember.Helper.helper((function(e){var t=navigator.language||navigator.userLanguage return new Intl.NumberFormat(t,{style:"currency",currency:e[1]||"EUR",currencyDisplay:"code"}).format(e[0])})) e.default=t})),define("kredits-web/helpers/gt",["exports","ember-truth-helpers/helpers/gt"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}}),Object.defineProperty(e,"gt",{enumerable:!0,get:function(){return t.gt}})})),define("kredits-web/helpers/gte",["exports","ember-truth-helpers/helpers/gte"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}}),Object.defineProperty(e,"gte",{enumerable:!0,get:function(){return t.gte}})})),define("kredits-web/helpers/is-after",["exports","ember-moment/helpers/is-after"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})})),define("kredits-web/helpers/is-array",["exports","ember-truth-helpers/helpers/is-array"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}}),Object.defineProperty(e,"isArray",{enumerable:!0,get:function(){return t.isArray}})})),define("kredits-web/helpers/is-before",["exports","ember-moment/helpers/is-before"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})})),define("kredits-web/helpers/is-between",["exports","ember-moment/helpers/is-between"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})})) -function _typeof(e){return(_typeof="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 _typeof(e){return(_typeof="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 _typeof(e){return(_typeof="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 _typeof(e){return(_typeof="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 _typeof(e){return(_typeof="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 _typeof(e){return(_typeof="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 _typeof(e){return(_typeof="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)}define("kredits-web/helpers/is-confirmed-contribution",["exports"],(function(e){function t(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"] +function _typeof(e){return(_typeof="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 _typeof(e){return(_typeof="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 _typeof(e){return(_typeof="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 _typeof(e){return(_typeof="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 _typeof(e){return(_typeof="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 _typeof(e){return(_typeof="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 _typeof(e){return(_typeof="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 _typeof(e){return(_typeof="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)}define("kredits-web/helpers/is-confirmed-contribution",["exports"],(function(e){function t(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"] if(null==n)return var r,o,i=[],u=!0,a=!1 try{for(n=n.call(e);!(u=(r=n.next()).done)&&(i.push(r.value),!t||i.length!==t);u=!0);}catch(s){a=!0,o=s}finally{try{u||null==n.return||n.return()}finally{if(a)throw o}}return i}(e,t)||function(e,t){if(!e)return @@ -414,50 +464,50 @@ function f(){var e r(this,f) for(var n=arguments.length,o=new Array(n),i=0;i0)){e.next=14 @@ -465,10 +515,10 @@ break}return e.next=11,this.kredits.loadObjectsFromCache("Reimbursement") case 11:this.kredits.set("reimbursementsNeedSync",!0),e.next=16 break case 14:return e.next=16,this.kredits.fetchObjects("Reimbursement",{page:{size:10}}) -case 16:case"end":return e.stop()}}),e,this)})),p=function(){var e=this,t=arguments +case 16:case"end":return e.stop()}}),e,this)})),b=function(){var e=this,t=arguments return new Promise((function(n,r){var o=f.apply(e,t) -function i(e){u(o,n,r,i,a,"next",e)}function a(e){u(o,n,r,i,a,"throw",e)}i(void 0)}))},function(){return p.apply(this,arguments)})},{key:"afterModel",value:function(){this.kredits.reimbursementsNeedSync&&Ember.run.schedule("afterRender",this.kredits.syncReimbursements,this.kredits.syncReimbursements.perform),Ember.run.schedule("afterRender",this.kredits.fetchMissingReimbursements,this.kredits.fetchMissingReimbursements.perform)}}])&&c(t.prototype,n),r&&c(t,r),Object.defineProperty(t,"prototype",{writable:!1}),h}()).prototype,"browserCache",[t],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),i=m(r.prototype,"kredits",[n],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),r) -e.default=h})),define("kredits-web/routes/budget/expenses",["exports"],(function(e){function t(e,t){for(var n=0;n0&&void 0!==n[0]?n[0]:"bitstamp",e.t0=t,e.next="bitstamp"===e.t0?4:10 break case 4:return e.next=6,g("btceur") case 6:return this.btceur=e.sent,e.next=9,g("btcusd") case 9:this.btcusd=e.sent -case 10:case"end":return e.stop()}}),e,this)}))),function(){return o.apply(this,arguments)})}])&&c(t.prototype,n),r&&c(t,r),Object.defineProperty(t,"prototype",{writable:!1}),p}()).prototype,"btceur",[n],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 0}}),u=m(o.prototype,"btcusd",[r],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 0}}),o) -e.default=k})),define("kredits-web/services/kredits",["exports","ethers","@kredits/contracts","ember-concurrency","kredits-web/utils/group-by","kredits-web/utils/process-contributor-data","kredits-web/utils/process-contribution-data","kredits-web/utils/process-reimbursement-data","kredits-web/utils/format-kredits","kredits-web/config/environment","kredits-web/models/contributor","kredits-web/models/contribution","kredits-web/models/reimbursement"],(function(e,t,n,r,o,i,u,a,s,c,l,d,f){function b(e){return function(e){if(Array.isArray(e))return h(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||m(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function p(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"] -if(!n){if(Array.isArray(e)||(n=m(e))||t&&e&&"number"==typeof e.length){n&&(e=n) +case 10:case"end":return e.stop()}}),e,this)}))),function(){return o.apply(this,arguments)})}])&&c(t.prototype,n),r&&c(t,r),Object.defineProperty(t,"prototype",{writable:!1}),b}()).prototype,"btceur",[n],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 0}}),u=m(o.prototype,"btcusd",[r],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 0}}),o) +e.default=k})),define("kredits-web/services/kredits",["exports","ethers","@kredits/contracts","ember-concurrency","kredits-web/utils/group-by","kredits-web/utils/process-contributor-data","kredits-web/utils/process-contribution-data","kredits-web/utils/process-reimbursement-data","kredits-web/utils/format-kredits","kredits-web/utils/switch-network","kredits-web/config/environment","kredits-web/models/contributor","kredits-web/models/contribution","kredits-web/models/reimbursement"],(function(e,t,n,r,o,i,u,a,s,c,l,d,f,p){function b(e){return function(e){if(Array.isArray(e))return h(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||y(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function m(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"] +if(!n){if(Array.isArray(e)||(n=y(e))||t&&e&&"number"==typeof e.length){n&&(e=n) var r=0,o=function(){} return{s:o,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:o}}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 i,u=!0,a=!1 return{s:function(){n=n.call(e)},n:function(){var e=n.next() -return u=e.done,e},e:function(e){a=!0,i=e},f:function(){try{u||null==n.return||n.return()}finally{if(a)throw i}}}}function m(e,t){if(e){if("string"==typeof e)return h(e,t) +return u=e.done,e},e:function(e){a=!0,i=e},f:function(){try{u||null==n.return||n.return()}finally{if(a)throw i}}}}function y(e,t){if(e){if("string"==typeof e)return h(e,t) var n=Object.prototype.toString.call(e).slice(8,-1) return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?h(e,t):void 0}}function h(e,t){(null==t||t>e.length)&&(t=e.length) for(var n=0,r=new Array(t);n0&&e.getCurrentUser.then((function(t){e.set("currentUser",t)})),t.abrupt("return",r) @@ -675,7 +761,7 @@ return this.contributions.filter((function(t){return t.confirmedAt>e.currentBloc return this.contributions.filterBy("vetoed",!1).filter((function(t){return t.confirmedAt<=e.currentBlock}))})),reimbursementsUnconfirmed:Ember.computed("reimbursements.[]","currentBlock",(function(){var e=this return this.reimbursements.filter((function(t){return t.confirmedAt>e.currentBlock}))})),reimbursementsConfirmed:Ember.computed("reimbursements.[]","currentBlock",(function(){var e=this return this.reimbursements.filterBy("vetoed",!1).filter((function(t){return t.confirmedAt<=e.currentBlock}))})),reimbursementsPending:Ember.computed("reimbursements.[]","pendingTx",(function(){return this.reimbursements.filter((function(e){return!e.id}))})),loadInitialData:function(){var e=this -return v(regeneratorRuntime.mark((function t(){return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,e.browserCache.contributors.length() +return g(regeneratorRuntime.mark((function t(){return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,e.browserCache.contributors.length() case 2:if(!(t.sent>0)){t.next=9 break}return t.next=6,e.loadObjectsFromCache("Contributor") case 6:e.set("contributorsNeedSync",!0),t.next=11 @@ -690,16 +776,18 @@ case 20:return t.next=22,e.fetchContributions({page:{size:40}}) case 22:return t.next=24,e.updateMissingHistoricContributionsCount() case 24:return t.abrupt("return",Promise.resolve()) case 25:case"end":return t.stop()}}),t)})))()},updateMissingHistoricContributionsCount:function(){var e=this -return v(regeneratorRuntime.mark((function t(){var n +return g(regeneratorRuntime.mark((function t(){var n return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,e.kredits.Contribution.count case 2:n=t.sent,e.set("missingHistoricContributionsCount",n-e.contributions.length),console.debug("Missing ".concat(e.missingHistoricContributionsCount," historic contributions (out of ").concat(n," overall)")) case 5:case"end":return t.stop()}}),t)})))()},addContributor:function(e){if(e.github_uid){var t=parseInt(e.github_uid) e.github_uid=t}return console.debug("[kredits] add contributor",e),this.kredits.Contributor.add(e,{gasLimit:35e4}).then((function(e){console.debug("[kredits] add contributor response",e)}))},updateContributor:function(e,t){if(t.github_uid){var n=parseInt(t.github_uid) -t.github_uid=n}return console.debug("[kredits] update contributor",t),this.kredits.Contributor.updateProfile(e,t,{gasLimit:35e4}).then((function(e){console.debug("[kredits] updateProfile response",e)}))},fetchContributors:function(){var e=this -return console.debug("[kredits] Fetching all contributors from the network"),this.kredits.Contributor.all().then((function(t){return t.forEach((function(t){e.loadContributorFromData(t)}))})).then((function(){return e.cacheLoadedContributors()}))},loadContributorFromData:function(e){var t=l.default.create((0,i.default)(e)),n=this.contributors.findBy("id",t.id) +t.github_uid=n}return console.debug("[kredits] update contributor",t),this.kredits.Contributor.updateProfile(e,t,{gasLimit:35e4}).then((function(e){console.debug("[kredits] updateProfile response",e)}))},fetchContributor:function(e){var t=this +return g(regeneratorRuntime.mark((function n(){return regeneratorRuntime.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return console.debug("[kredits] Fetching contributor from the network"),n.abrupt("return",t.kredits.Contributor.getById(e).then((function(e){return t.loadContributorFromData(e)}))) +case 2:case"end":return n.stop()}}),n)})))()},fetchContributors:function(){var e=this +return console.debug("[kredits] Fetching all contributors from the network"),this.kredits.Contributor.all().then((function(t){return t.forEach((function(t){e.loadContributorFromData(t)}))})).then((function(){return e.cacheLoadedContributors()}))},loadContributorFromData:function(e){var t=d.default.create((0,i.default)(e)),n=this.contributors.findBy("id",t.id) return n&&this.contributors.removeObject(n),this.contributors.pushObject(t),t},cacheLoadedContributors:function(){var e=this -return v(regeneratorRuntime.mark((function t(){var n,r,o -return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:n=p(e.contributors),t.prev=1,n.s() +return g(regeneratorRuntime.mark((function t(){var n,r,o +return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:n=m(e.contributors),t.prev=1,n.s() case 3:if((r=n.n()).done){t.next=9 break}return o=r.value,t.next=7,e.browserCache.contributors.setItem(o.id.toString(),o.serialize()) case 7:t.next=3 @@ -710,20 +798,20 @@ case 11:t.prev=11,t.t0=t.catch(1),n.e(t.t0) case 14:return t.prev=14,n.f(),t.finish(14) case 17:return console.debug("[kredits] Cached ".concat(e.contributors.length," contributors in browser storage")),t.abrupt("return",Promise.resolve()) case 19:case"end":return t.stop()}}),t,null,[[1,11,14,17]])})))()},loadContributorsFromCache:function(){var e=this -return v(regeneratorRuntime.mark((function t(){return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",e.browserCache.contributors.iterate((function(t){e.contributors.pushObject(l.default.create(JSON.parse(t)))})).then((function(){console.debug("[kredits] Loaded ".concat(e.contributors.length," contributors from cache"))}))) +return g(regeneratorRuntime.mark((function t(){return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",e.browserCache.contributors.iterate((function(t){e.contributors.pushObject(d.default.create(JSON.parse(t)))})).then((function(){console.debug("[kredits] Loaded ".concat(e.contributors.length," contributors from cache"))}))) case 1:case"end":return t.stop()}}),t)})))()},syncContributors:(0,r.task)(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.fetchContributors() case 2:this.set("contributorsNeedSync",!1) case 3:case"end":return e.stop()}}),e,this)}))),addContribution:function(e){var t=this return console.debug("[kredits] Adding contribution",e),this.kredits.Contribution.add(e,{gasLimit:3e5}).then((function(n){console.debug("[kredits] Contribution.add response",n),e.contributor=t.contributors.findBy("id",e.contributorId) -var r=d.default.create(e) +var r=f.default.create(e) return r.set("pendingTx",n),r.set("confirmedAtBlock",t.currentBlock+40320),t.contributions.pushObject(r),r}))},fetchContributions:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{page:{size:200}} return console.debug("[kredits] Fetching contributions from the network"),this.kredits.Contribution.all(t).then((function(t){return t.map((function(t){return e.loadContributionFromData(t)}))})).then((function(t){var n=t.map((function(t){return e.browserCache.contributions.setItem(t.id.toString(),t.serialize())})) -return Promise.all(n).then((function(){console.debug("[kredits] Cached ".concat(t.length," contributions in browser storage"))}))}))},loadContributionFromData:function(e){var t=d.default.create((0,u.default)(e)) +return Promise.all(n).then((function(){console.debug("[kredits] Cached ".concat(t.length," contributions in browser storage"))}))}))},loadContributionFromData:function(e){var t=f.default.create((0,u.default)(e)) t.set("contributor",this.contributors.findBy("id",e.contributorId)) var n=this.contributions.findBy("id",t.id) return n&&this.contributions.removeObject(n),this.contributions.pushObject(t),t},cacheLoadedContributions:function(){var e=this -return v(regeneratorRuntime.mark((function t(){var n,r,o -return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:n=p(e.contributions),t.prev=1,n.s() +return g(regeneratorRuntime.mark((function t(){var n,r,o +return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:n=m(e.contributions),t.prev=1,n.s() case 3:if((r=n.n()).done){t.next=9 break}return o=r.value,t.next=7,e.browserCache.contributions.setItem(o.id.toString(),o.serialize()) case 7:t.next=3 @@ -734,7 +822,7 @@ case 11:t.prev=11,t.t0=t.catch(1),n.e(t.t0) case 14:return t.prev=14,n.f(),t.finish(14) case 17:return console.debug("[kredits] Cached ".concat(e.contributions.length," contributions in browser storage")),t.abrupt("return",Promise.resolve()) case 19:case"end":return t.stop()}}),t,null,[[1,11,14,17]])})))()},loadContributionsFromCache:function(){var e=this -return v(regeneratorRuntime.mark((function t(){return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",e.browserCache.contributions.iterate((function(t){e.contributions.pushObject(d.default.create(JSON.parse(t)))})).then((function(){console.debug("[kredits] Loaded ".concat(e.contributions.length," contributions from cache"))}))) +return g(regeneratorRuntime.mark((function t(){return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",e.browserCache.contributions.iterate((function(t){e.contributions.pushObject(f.default.create(JSON.parse(t)))})).then((function(){console.debug("[kredits] Loaded ".concat(e.contributions.length," contributions from cache"))}))) case 1:case"end":return t.stop()}}),t)})))()},contributionTasks:(0,r.taskGroup)().enqueue(),syncContributions:(0,r.task)(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.fetchNewContributions.perform() case 2:return e.next=4,this.syncUnconfirmedContributions.perform() case 4:return e.next=6,this.updateMissingHistoricContributionsCount() @@ -767,7 +855,7 @@ break case 29:console.debug("[kredits] Cached ".concat(i," past contributions")) case 30:case"end":return e.stop()}}),e,this)}))).group("contributionTasks"),syncUnconfirmedContributions:(0,r.task)(regeneratorRuntime.mark((function e(){var t,n,r,o,i return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!(this.contributionsUnconfirmed.length>0)){e.next=25 -break}console.debug("[kredits] Syncing unconfirmed contributions"),t=p(this.contributionsUnconfirmed),e.prev=3,t.s() +break}console.debug("[kredits] Syncing unconfirmed contributions"),t=m(this.contributionsUnconfirmed),e.prev=3,t.s() case 5:if((n=t.n()).done){e.next=15 break}return r=n.value,e.next=9,this.kredits.Contribution.getById(r.id) case 9:return o=e.sent,i=this.loadContributionFromData(o),e.next=13,this.browserCache.contributions.setItem(r.id.toString(),i.serialize()) @@ -786,8 +874,8 @@ return this.kredits.Contribution.functions.veto(e,{gasLimit:3e5}).then((function return console.debug("[kredits] Fetching ".concat(r,"s from the network")),this.kredits[e].all(n).then((function(n){return n.map((function(n){return t["load".concat(e,"FromData")](n)}))})).then((function(e){var n=e.map((function(e){return t.browserCache[r+"s"].setItem(e.id.toString(),e.serialize())})) return Promise.all(n).then((function(){console.debug("[kredits] Cached ".concat(e.length," ").concat(r+"s"," in browser storage"))}))}))},removeObjectFromCollectionIfLoaded:function(e,t){var n=this[e].findBy("id",t) n&&this[e].removeObject(n)},cacheLoadedObjects:function(e){var t=this -return v(regeneratorRuntime.mark((function n(){var r,o,i -return regeneratorRuntime.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:r=p(t[e]),n.prev=1,r.s() +return g(regeneratorRuntime.mark((function n(){var r,o,i +return regeneratorRuntime.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:r=m(t[e]),n.prev=1,r.s() case 3:if((o=r.n()).done){n.next=9 break}return i=o.value,n.next=7,t.browserCache[e].setItem(i.id,i.serialize()) case 7:n.next=3 @@ -798,8 +886,8 @@ case 11:n.prev=11,n.t0=n.catch(1),r.e(n.t0) case 14:return n.prev=14,r.f(),n.finish(14) case 17:console.debug("[kredits] Cached ".concat(t[e].length," ").concat(e," in browser storage")) case 18:case"end":return n.stop()}}),n,null,[[1,11,14,17]])})))()},loadObjectsFromCache:function(e){var t=this -return v(regeneratorRuntime.mark((function n(){var r -return regeneratorRuntime.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return r=e.toLowerCase()+"s",n.abrupt("return",t.browserCache[r].iterate((function(n){var o=g[e].create(JSON.parse(n)) +return g(regeneratorRuntime.mark((function n(){var r +return regeneratorRuntime.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return r=e.toLowerCase()+"s",n.abrupt("return",t.browserCache[r].iterate((function(n){var o=w[e].create(JSON.parse(n)) t.removeObjectFromCollectionIfLoaded(r,o.id),t[r].pushObject(o)})).then((function(){console.debug("[kredits] Loaded ".concat(t[r].length," ").concat(r," from cache"))}))) case 2:case"end":return n.stop()}}),n)})))()},syncTaskGroup:(0,r.taskGroup)().enqueue(),fetchNewObjects:(0,r.task)(regeneratorRuntime.mark((function e(t){var n,r,o,i,u,a,s return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=t.toLowerCase()+"s",e.next=3,this.kredits[t].functions["".concat(n,"Count")]() @@ -829,7 +917,7 @@ break case 30:console.debug("[kredits] Cached ".concat(a," past ").concat(n)) case 31:case"end":return e.stop()}}),e,this)}))),syncUnconfirmedObjects:(0,r.task)(regeneratorRuntime.mark((function e(t){var n,r,o,i,u,a return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=t.toLowerCase()+"s",!(this.get("".concat(n,"Unconfirmed")).length>0)){e.next=28 -break}console.debug("[kredits] Syncing unconfirmed ".concat(n)),r=p(this["".concat(n,"Unconfirmed")]),e.prev=4,r.s() +break}console.debug("[kredits] Syncing unconfirmed ".concat(n)),r=m(this["".concat(n,"Unconfirmed")]),e.prev=4,r.s() case 6:if((o=r.n()).done){e.next=18 break}if(i=o.value,!Ember.isEmpty(i.id)){e.next=10 break}return e.abrupt("return") @@ -846,10 +934,10 @@ break case 28:console.debug("[kredits] No unconfirmed ".concat(n," to sync")) case 29:case"end":return e.stop()}}),e,this,[[4,20,23,26]])}))),vetoAgainstObject:function(e,t){console.debug("[kredits] veto against ".concat(e.toLowerCase()),t) var n=this[e.toLowerCase()+"s"].findBy("id",t) -return this.kredits[e].functions.veto(t,{gasLimit:3e5}).then((function(e){return console.debug("[kredits] veto response",e),n.set("pendingTx",e),e}))},loadReimbursementFromData:function(e){var t=f.default.create((0,a.default)(e)) +return this.kredits[e].functions.veto(t,{gasLimit:3e5}).then((function(e){return console.debug("[kredits] veto response",e),n.set("pendingTx",e),e}))},loadReimbursementFromData:function(e){var t=p.default.create((0,a.default)(e)) return t.set("contributor",this.contributors.findBy("id",e.recipientId)),this.removeObjectFromCollectionIfLoaded("reimbursements",t.id),this.reimbursements.pushObject(t),t},addReimbursement:function(e){var t=this return console.debug("[kredits] add reimbursement",e),this.kredits.Reimbursement.add(e,{gasLimit:3e5}).then((function(n){console.debug("[kredits] add reimbursement response",n) -var r=f.default.create(e) +var r=p.default.create(e) return r.setProperties({contributor:t.contributors.findBy("id",e.recipientId),pendingTx:n,confirmedAt:t.currentBlock+40320}),t.reimbursements.pushObject(r),n.wait().then((function(e){return console.debug("[kredits] tx successful",e)})).catch((function(e){window.alert("The transaction failed to execute. Please check the browser console."),console.log("[kredits] tx error",e)})),r}))},syncReimbursements:(0,r.task)(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.fetchNewObjects.perform("Reimbursement") case 2:return e.next=4,this.syncUnconfirmedObjects.perform("Reimbursement") case 4:this.set("reimbursementsNeedSync",!1) @@ -857,27 +945,27 @@ case 5:case"end":return e.stop()}}),e,this)}))).group("syncTaskGroup"),fetchMiss case 2:case"end":return e.stop()}}),e,this)}))).group("syncTaskGroup"),vetoReimbursement:function(e){console.debug("[kredits] veto against reimbursement",e) var t=this.reimbursements.findBy("id",e) return this.kredits.Reimbursement.functions.veto(e,{gasLimit:3e5}).then((function(e){return console.debug("[kredits] veto response",e),t.set("pendingTx",e),e}))},addContractEventHandlers:function(){this.kredits.Contributor.on("ContributorProfileUpdated",this.handleContributorChange.bind(this)).on("ContributorAccountUpdated",this.handleContributorChange.bind(this)).on("ContributorAdded",this.handleContributorChange.bind(this)),this.kredits.Contribution.on("ContributionAdded",this.handleContributionAdded.bind(this)).on("ContributionVetoed",this.handleContributionVetoed.bind(this)),this.kredits.Reimbursement.on("ReimbursementAdded",this.handleReimbursementAdded.bind(this)).on("ReimbursementVetoed",this.handleReimbursementVetoed.bind(this)),this.kredits.Token.on("Transfer",this.handleTransfer.bind(this))},handleContributorChange:function(e){var t=arguments,n=this -return v(regeneratorRuntime.mark((function r(){var o,i,u,a,s,c +return g(regeneratorRuntime.mark((function r(){var o,i,u,a,s,c return regeneratorRuntime.wrap((function(r){for(;;)switch(r.prev=r.next){case 0:for(console.debug("[kredits] Contributor add/update event received for ID",e),o=t.length,i=new Array(o>1?o-1:0),u=1;u arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\n function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\n function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\n function _initializerDefineProperty(target, property, descriptor, context) { if (!descriptor) return; Object.defineProperty(target, property, { enumerable: descriptor.enumerable, configurable: descriptor.configurable, writable: descriptor.writable, value: descriptor.initializer ? descriptor.initializer.call(context) : void 0 }); }\n\n function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\n function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\n function _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\n function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\n function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\n function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\n function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\n function _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\n function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n function _applyDecoratedDescriptor(target, property, decorators, descriptor, context) { var desc = {}; Object.keys(descriptor).forEach(function (key) { desc[key] = descriptor[key]; }); desc.enumerable = !!desc.enumerable; desc.configurable = !!desc.configurable; if ('value' in desc || desc.initializer) { desc.writable = true; } desc = decorators.slice().reverse().reduce(function (desc, decorator) { return decorator(target, property, desc) || desc; }, desc); if (context && desc.initializer !== void 0) { desc.value = desc.initializer ? desc.initializer.call(context) : void 0; desc.initializer = undefined; } if (desc.initializer === void 0) { Object.defineProperty(target, property, desc); desc = null; } return desc; }\n\n function _initializerWarningHelper(descriptor, context) { throw new Error('Decorating class property failed. Please ensure that ' + 'proposal-class-properties is enabled and runs after the decorators transform.'); }\n\n var AddExpenseItemComponent = (_dec = Ember._tracked, _dec2 = Ember._tracked, _dec3 = Ember._tracked, _dec4 = Ember._tracked, _dec5 = Ember._tracked, _dec6 = Ember._tracked, _dec7 = Ember._tracked, _dec8 = Ember._action, _dec9 = Ember._action, (_class = /*#__PURE__*/function (_Component) {\n _inherits(AddExpenseItemComponent, _Component);\n\n var _super = _createSuper(AddExpenseItemComponent);\n\n function AddExpenseItemComponent() {\n var _this;\n\n _classCallCheck(this, AddExpenseItemComponent);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _initializerDefineProperty(_assertThisInitialized(_this), \"amount\", _descriptor, _assertThisInitialized(_this));\n\n _initializerDefineProperty(_assertThisInitialized(_this), \"currency\", _descriptor2, _assertThisInitialized(_this));\n\n _initializerDefineProperty(_assertThisInitialized(_this), \"date\", _descriptor3, _assertThisInitialized(_this));\n\n _initializerDefineProperty(_assertThisInitialized(_this), \"title\", _descriptor4, _assertThisInitialized(_this));\n\n _initializerDefineProperty(_assertThisInitialized(_this), \"description\", _descriptor5, _assertThisInitialized(_this));\n\n _initializerDefineProperty(_assertThisInitialized(_this), \"url\", _descriptor6, _assertThisInitialized(_this));\n\n _initializerDefineProperty(_assertThisInitialized(_this), \"tags\", _descriptor7, _assertThisInitialized(_this));\n\n _defineProperty(_assertThisInitialized(_this), \"defaultDate\", (0, _moment.default)().startOf('hour').toDate());\n\n _defineProperty(_assertThisInitialized(_this), \"currencies\", [{\n code: 'EUR'\n }, {\n code: 'USD'\n }]);\n\n return _this;\n }\n\n _createClass(AddExpenseItemComponent, [{\n key: \"isValidAmount\",\n get: function get() {\n return (0, _isValidAmount.default)(this.amount);\n }\n }, {\n key: \"amountInputClass\",\n get: function get() {\n return this.isValidTotal ? 'valid' : '';\n }\n }, {\n key: \"validateForm\",\n value: function validateForm() {\n var formEl = document.querySelector('form#add-expense-item');\n var inputFields = formEl.querySelectorAll('input');\n inputFields.forEach(function (i) {\n return i.classList.remove('invalid');\n });\n var validity = true;\n\n if (!this.isValidAmount) {\n document.querySelector('input[name=expense-amount]').classList.add('invalid');\n validity = false;\n }\n\n if (!formEl.checkValidity()) {\n inputFields.forEach(function (i) {\n if (!i.validity.valid) {\n i.classList.add('invalid');\n validity = false;\n }\n });\n }\n\n return validity;\n }\n }, {\n key: \"updateCurrency\",\n value: function updateCurrency(event) {\n this.currency = event.target.value;\n }\n }, {\n key: \"submit\",\n value: function submit(e) {\n e.preventDefault();\n var dateInput = this.date instanceof Array ? this.date[0] : this.date;\n\n var _moment$utcOffset$toI = (0, _moment.default)(dateInput).utcOffset(0, true).toISOString().split('T'),\n _moment$utcOffset$toI2 = _slicedToArray(_moment$utcOffset$toI, 1),\n date = _moment$utcOffset$toI2[0];\n\n var isValid = this.validateForm();\n if (!isValid) return false;\n var expense = {\n amount: parseFloat(this.amount),\n currency: this.currency,\n date: date,\n title: this.title,\n description: Ember.isPresent(this.description) ? this.description : undefined,\n url: Ember.isPresent(this.url) ? this.url : undefined\n };\n\n if (Ember.isPresent(this.tags)) {\n expense.tags = this.tags.split(',').map(function (t) {\n return t.trim();\n }).filter(function (t) {\n return t.length > 0;\n });\n }\n\n this.args.addExpenseItem(expense);\n }\n }]);\n\n return AddExpenseItemComponent;\n }(_component.default), (_descriptor = _applyDecoratedDescriptor(_class.prototype, \"amount\", [_dec], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function initializer() {\n return '0';\n }\n }), _descriptor2 = _applyDecoratedDescriptor(_class.prototype, \"currency\", [_dec2], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function initializer() {\n return 'EUR';\n }\n }), _descriptor3 = _applyDecoratedDescriptor(_class.prototype, \"date\", [_dec3], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function initializer() {\n return (0, _moment.default)().startOf('hour').toDate();\n }\n }), _descriptor4 = _applyDecoratedDescriptor(_class.prototype, \"title\", [_dec4], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function initializer() {\n return '';\n }\n }), _descriptor5 = _applyDecoratedDescriptor(_class.prototype, \"description\", [_dec5], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function initializer() {\n return '';\n }\n }), _descriptor6 = _applyDecoratedDescriptor(_class.prototype, \"url\", [_dec6], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function initializer() {\n return '';\n }\n }), _descriptor7 = _applyDecoratedDescriptor(_class.prototype, \"tags\", [_dec7], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function initializer() {\n return '';\n }\n }), _applyDecoratedDescriptor(_class.prototype, \"updateCurrency\", [_dec8], Object.getOwnPropertyDescriptor(_class.prototype, \"updateCurrency\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"submit\", [_dec9], Object.getOwnPropertyDescriptor(_class.prototype, \"submit\"), _class.prototype)), _class));\n _exports.default = AddExpenseItemComponent;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\ndefine(\"kredits-web/components/add-reimbursement/component\", [\"exports\", \"@glimmer/component\", \"kredits-web/utils/is-valid-amount\", \"kredits-web/utils/read-file-content\", \"kredits-web/config/environment\"], function (_exports, _component, _isValidAmount, _readFileContent, _environment) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _dec, _dec2, _dec3, _dec4, _dec5, _dec6, _dec7, _dec8, _dec9, _dec10, _dec11, _dec12, _dec13, _dec14, _dec15, _class, _descriptor, _descriptor2, _descriptor3, _descriptor4, _descriptor5, _descriptor6, _descriptor7, _descriptor8, _descriptor9;\n\n function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } 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 normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }\n\n function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\n function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\n function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\n function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\n function _initializerDefineProperty(target, property, descriptor, context) { if (!descriptor) return; Object.defineProperty(target, property, { enumerable: descriptor.enumerable, configurable: descriptor.configurable, writable: descriptor.writable, value: descriptor.initializer ? descriptor.initializer.call(context) : void 0 }); }\n\n function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\n function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\n function _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\n function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\n function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\n function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\n function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\n function _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\n function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n function _applyDecoratedDescriptor(target, property, decorators, descriptor, context) { var desc = {}; Object.keys(descriptor).forEach(function (key) { desc[key] = descriptor[key]; }); desc.enumerable = !!desc.enumerable; desc.configurable = !!desc.configurable; if ('value' in desc || desc.initializer) { desc.writable = true; } desc = decorators.slice().reverse().reduce(function (desc, decorator) { return decorator(target, property, desc) || desc; }, desc); if (context && desc.initializer !== void 0) { desc.value = desc.initializer ? desc.initializer.call(context) : void 0; desc.initializer = undefined; } if (desc.initializer === void 0) { Object.defineProperty(target, property, desc); desc = null; } return desc; }\n\n function _initializerWarningHelper(descriptor, context) { throw new Error('Decorating class property failed. Please ensure that ' + 'proposal-class-properties is enabled and runs after the decorators transform.'); }\n\n var AddReimbursementComponent = (_dec = Ember.inject.service, _dec2 = Ember.inject.service, _dec3 = Ember.inject.service, _dec4 = Ember.computed.alias('kredits.contributorsSorted'), _dec5 = Ember._tracked, _dec6 = Ember._tracked, _dec7 = Ember._tracked, _dec8 = Ember._tracked, _dec9 = Ember._tracked, _dec10 = Ember._action, _dec11 = Ember._action, _dec12 = Ember._action, _dec13 = Ember._action, _dec14 = Ember._action, _dec15 = Ember._action, (_class = /*#__PURE__*/function (_Component) {\n _inherits(AddReimbursementComponent, _Component);\n\n var _super = _createSuper(AddReimbursementComponent);\n\n function AddReimbursementComponent() {\n var _this;\n\n _classCallCheck(this, AddReimbursementComponent);\n\n _this = _super.apply(this, arguments);\n\n _initializerDefineProperty(_assertThisInitialized(_this), \"router\", _descriptor, _assertThisInitialized(_this));\n\n _initializerDefineProperty(_assertThisInitialized(_this), \"kredits\", _descriptor2, _assertThisInitialized(_this));\n\n _initializerDefineProperty(_assertThisInitialized(_this), \"exchangeRates\", _descriptor3, _assertThisInitialized(_this));\n\n _initializerDefineProperty(_assertThisInitialized(_this), \"contributors\", _descriptor4, _assertThisInitialized(_this));\n\n _initializerDefineProperty(_assertThisInitialized(_this), \"recipientId\", _descriptor5, _assertThisInitialized(_this));\n\n _initializerDefineProperty(_assertThisInitialized(_this), \"title\", _descriptor6, _assertThisInitialized(_this));\n\n _initializerDefineProperty(_assertThisInitialized(_this), \"total\", _descriptor7, _assertThisInitialized(_this));\n\n _initializerDefineProperty(_assertThisInitialized(_this), \"expenses\", _descriptor8, _assertThisInitialized(_this));\n\n _initializerDefineProperty(_assertThisInitialized(_this), \"expenseFormVisible\", _descriptor9, _assertThisInitialized(_this));\n\n _this.exchangeRates.fetchRates();\n\n return _this;\n }\n\n _createClass(AddReimbursementComponent, [{\n key: \"isValidTotal\",\n get: function get() {\n return (0, _isValidAmount.default)(this.total);\n }\n }, {\n key: \"totalInputClass\",\n get: function get() {\n return this.isValidTotal ? 'valid' : '';\n }\n }, {\n key: \"totalEUR\",\n get: function get() {\n var expenses = this.expenses.filterBy('currency', 'EUR');\n\n if (expenses.length > 0) {\n return expenses.mapBy('amount').reduce(function (summation, current) {\n return summation + current;\n });\n } else {\n return 0;\n }\n }\n }, {\n key: \"totalUSD\",\n get: function get() {\n var expenses = this.expenses.filterBy('currency', 'USD');\n\n if (expenses.length > 0) {\n return expenses.mapBy('amount').reduce(function (summation, current) {\n return summation + current;\n });\n } else {\n return 0;\n }\n }\n }, {\n key: \"submitButtonEnabled\",\n get: function get() {\n return this.isValidTotal && this.expenses.length > 0;\n }\n }, {\n key: \"submitButtonDisabled\",\n get: function get() {\n return !this.submitButtonEnabled;\n }\n }, {\n key: \"scrollToExpenseItemForm\",\n value: function scrollToExpenseItemForm() {\n var anchor = document.getElementById('new-expense-item');\n anchor.scrollIntoView();\n }\n }, {\n key: \"updateTotalAmountFromFiat\",\n value: function updateTotalAmountFromFiat() {\n var btcAmount = parseFloat(this.total);\n\n if (this.exchangeRates.btceur > 0 && this.totalEUR > 0) {\n btcAmount += this.totalEUR / this.exchangeRates.btceur;\n }\n\n if (this.exchangeRates.btcusd > 0 && this.totalUSD > 0) {\n btcAmount += this.totalUSD / this.exchangeRates.btcusd;\n }\n\n if (this.totalUSD === 0 && this.totalEUR === 0) {\n btcAmount = 0;\n }\n\n this.total = btcAmount.toFixed(8);\n } // TODO use ember-concurrency here\n // https://github.com/67P/kredits-web/pull/209#discussion_r1064234421\n\n }, {\n key: \"addExpensesFromFile\",\n value: function () {\n var _addExpensesFromFile = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee(evt) {\n var content, expenses, _iterator, _step, item;\n\n return regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return (0, _readFileContent.default)(evt.target.files[0]);\n\n case 2:\n content = _context.sent;\n expenses = JSON.parse(content);\n\n if (expenses instanceof Array) {\n _iterator = _createForOfIteratorHelper(expenses);\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n item = _step.value;\n this.addExpenseItem(item);\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n } else {\n console.warn(\"Expenses in file must be a list of items:\");\n console.debug(content);\n }\n\n case 5:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n function addExpensesFromFile(_x) {\n return _addExpensesFromFile.apply(this, arguments);\n }\n\n return addExpensesFromFile;\n }()\n }, {\n key: \"updateContributor\",\n value: function updateContributor(event) {\n this.recipientId = event.target.value;\n }\n }, {\n key: \"showExpenseForm\",\n value: function showExpenseForm() {\n this.expenseFormVisible = true;\n Ember.run.scheduleOnce('afterRender', this, this.scrollToExpenseItemForm);\n }\n }, {\n key: \"addExpenseItem\",\n value: function addExpenseItem(expenseItem) {\n this.expenses.pushObject(expenseItem);\n this.updateTotalAmountFromFiat();\n this.expenseFormVisible = false;\n }\n }, {\n key: \"removeExpenseItem\",\n value: function removeExpenseItem(expenseItem) {\n this.expenses.removeObject(expenseItem);\n this.updateTotalAmountFromFiat();\n\n if (this.expenses.length === 0) {\n this.expenseFormVisible = true;\n }\n }\n }, {\n key: \"submit\",\n value: function submit(e) {\n var _this2 = this;\n\n e.preventDefault();\n\n if (!this.kredits.currentUser) {\n window.alert('You need to connect your RSK account first.');\n return false;\n }\n\n if (!this.kredits.currentUserIsCore) {\n window.alert('Only core contributors can submit reimbursements.');\n return false;\n }\n\n var contributor = this.contributors.findBy('id', parseInt(this.recipientId));\n var attributes = {\n amount: parseInt(parseFloat(this.total) * 100000000),\n // convert to sats\n token: _environment.default.tokens['BTC'],\n recipientId: parseInt(this.recipientId),\n title: \"Expenses covered by \".concat(contributor.name),\n description: this.description,\n url: this.url,\n expenses: JSON.parse(JSON.stringify(this.expenses))\n };\n this.inProgress = true;\n this.kredits.addReimbursement(attributes).then(function\n /* reimbursement */\n () {\n _this2.router.transitionTo('budget');\n }).catch(function (e) {\n console.error('Could not add reimbursement:', e);\n window.alert('Something went wrong. Please check the browser console.');\n }).finally(function () {\n _this2.inProgress = false;\n });\n }\n }]);\n\n return AddReimbursementComponent;\n }(_component.default), (_descriptor = _applyDecoratedDescriptor(_class.prototype, \"router\", [_dec], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n }), _descriptor2 = _applyDecoratedDescriptor(_class.prototype, \"kredits\", [_dec2], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n }), _descriptor3 = _applyDecoratedDescriptor(_class.prototype, \"exchangeRates\", [_dec3], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n }), _descriptor4 = _applyDecoratedDescriptor(_class.prototype, \"contributors\", [_dec4], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n }), _descriptor5 = _applyDecoratedDescriptor(_class.prototype, \"recipientId\", [_dec5], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function initializer() {\n return null;\n }\n }), _descriptor6 = _applyDecoratedDescriptor(_class.prototype, \"title\", [_dec6], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function initializer() {\n return '';\n }\n }), _descriptor7 = _applyDecoratedDescriptor(_class.prototype, \"total\", [_dec7], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function initializer() {\n return '0';\n }\n }), _descriptor8 = _applyDecoratedDescriptor(_class.prototype, \"expenses\", [_dec8], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function initializer() {\n return Ember.A([]);\n }\n }), _descriptor9 = _applyDecoratedDescriptor(_class.prototype, \"expenseFormVisible\", [_dec9], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function initializer() {\n return true;\n }\n }), _applyDecoratedDescriptor(_class.prototype, \"addExpensesFromFile\", [_dec10], Object.getOwnPropertyDescriptor(_class.prototype, \"addExpensesFromFile\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"updateContributor\", [_dec11], Object.getOwnPropertyDescriptor(_class.prototype, \"updateContributor\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"showExpenseForm\", [_dec12], Object.getOwnPropertyDescriptor(_class.prototype, \"showExpenseForm\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"addExpenseItem\", [_dec13], Object.getOwnPropertyDescriptor(_class.prototype, \"addExpenseItem\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"removeExpenseItem\", [_dec14], Object.getOwnPropertyDescriptor(_class.prototype, \"removeExpenseItem\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"submit\", [_dec15], Object.getOwnPropertyDescriptor(_class.prototype, \"submit\"), _class.prototype)), _class));\n _exports.default = AddReimbursementComponent;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\ndefine(\"kredits-web/components/budget-balances/component\", [\"exports\", \"@glimmer/component\"], function (_exports, _component) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _dec, _dec2, _class, _descriptor, _descriptor2;\n\n function _initializerDefineProperty(target, property, descriptor, context) { if (!descriptor) return; Object.defineProperty(target, property, { enumerable: descriptor.enumerable, configurable: descriptor.configurable, writable: descriptor.writable, value: descriptor.initializer ? descriptor.initializer.call(context) : void 0 }); }\n\n function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\n function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\n function _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\n function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\n function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\n function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\n function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\n function _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\n function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n function _applyDecoratedDescriptor(target, property, decorators, descriptor, context) { var desc = {}; Object.keys(descriptor).forEach(function (key) { desc[key] = descriptor[key]; }); desc.enumerable = !!desc.enumerable; desc.configurable = !!desc.configurable; if ('value' in desc || desc.initializer) { desc.writable = true; } desc = decorators.slice().reverse().reduce(function (desc, decorator) { return decorator(target, property, desc) || desc; }, desc); if (context && desc.initializer !== void 0) { desc.value = desc.initializer ? desc.initializer.call(context) : void 0; desc.initializer = undefined; } if (desc.initializer === void 0) { Object.defineProperty(target, property, desc); desc = null; } return desc; }\n\n function _initializerWarningHelper(descriptor, context) { throw new Error('Decorating class property failed. Please ensure that ' + 'proposal-class-properties is enabled and runs after the decorators transform.'); }\n\n var BudgetBalancesComponent = (_dec = Ember.inject.service, _dec2 = Ember.computed.alias('communityFunds.balances'), (_class = /*#__PURE__*/function (_Component) {\n _inherits(BudgetBalancesComponent, _Component);\n\n var _super = _createSuper(BudgetBalancesComponent);\n\n function BudgetBalancesComponent() {\n var _this;\n\n _classCallCheck(this, BudgetBalancesComponent);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _initializerDefineProperty(_assertThisInitialized(_this), \"communityFunds\", _descriptor, _assertThisInitialized(_this));\n\n _initializerDefineProperty(_assertThisInitialized(_this), \"balances\", _descriptor2, _assertThisInitialized(_this));\n\n return _this;\n }\n\n _createClass(BudgetBalancesComponent, [{\n key: \"loading\",\n get: function get() {\n return !this.communityFunds.balancesLoaded;\n }\n }]);\n\n return BudgetBalancesComponent;\n }(_component.default), (_descriptor = _applyDecoratedDescriptor(_class.prototype, \"communityFunds\", [_dec], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n }), _descriptor2 = _applyDecoratedDescriptor(_class.prototype, \"balances\", [_dec2], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n })), _class));\n _exports.default = BudgetBalancesComponent;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\ndefine(\"kredits-web/components/confirmed-in/component\", [\"exports\", \"@glimmer/component\", \"moment\"], function (_exports, _component, _moment) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _dec, _class, _descriptor;\n\n function _initializerDefineProperty(target, property, descriptor, context) { if (!descriptor) return; Object.defineProperty(target, property, { enumerable: descriptor.enumerable, configurable: descriptor.configurable, writable: descriptor.writable, value: descriptor.initializer ? descriptor.initializer.call(context) : void 0 }); }\n\n function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\n function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\n function _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\n function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\n function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\n function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\n function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\n function _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\n function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n function _applyDecoratedDescriptor(target, property, decorators, descriptor, context) { var desc = {}; Object.keys(descriptor).forEach(function (key) { desc[key] = descriptor[key]; }); desc.enumerable = !!desc.enumerable; desc.configurable = !!desc.configurable; if ('value' in desc || desc.initializer) { desc.writable = true; } desc = decorators.slice().reverse().reduce(function (desc, decorator) { return decorator(target, property, desc) || desc; }, desc); if (context && desc.initializer !== void 0) { desc.value = desc.initializer ? desc.initializer.call(context) : void 0; desc.initializer = undefined; } if (desc.initializer === void 0) { Object.defineProperty(target, property, desc); desc = null; } return desc; }\n\n function _initializerWarningHelper(descriptor, context) { throw new Error('Decorating class property failed. Please ensure that ' + 'proposal-class-properties is enabled and runs after the decorators transform.'); }\n\n var ConfirmedInComponent = (_dec = Ember.inject.service, (_class = /*#__PURE__*/function (_Component) {\n _inherits(ConfirmedInComponent, _Component);\n\n var _super = _createSuper(ConfirmedInComponent);\n\n function ConfirmedInComponent() {\n var _this;\n\n _classCallCheck(this, ConfirmedInComponent);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _initializerDefineProperty(_assertThisInitialized(_this), \"kredits\", _descriptor, _assertThisInitialized(_this));\n\n return _this;\n }\n\n _createClass(ConfirmedInComponent, [{\n key: \"confirmedInBlocks\",\n get: function get() {\n return this.args.confirmedAtBlock - this.kredits.currentBlock;\n }\n }, {\n key: \"confirmedInSeconds\",\n get: function get() {\n // A new block is mined every 30 seconds on average\n return this.confirmedInBlocks * 30;\n }\n }, {\n key: \"confirmedInHumanTime\",\n get: function get() {\n return _moment.default.duration(this.confirmedInSeconds, \"seconds\").humanize();\n }\n }, {\n key: \"isConfirmed\",\n get: function get() {\n return this.confirmedInBlocks <= 0;\n }\n }]);\n\n return ConfirmedInComponent;\n }(_component.default), (_descriptor = _applyDecoratedDescriptor(_class.prototype, \"kredits\", [_dec], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n })), _class));\n _exports.default = ConfirmedInComponent;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\ndefine(\"kredits-web/components/expense-list/component\", [\"exports\", \"@glimmer/component\"], function (_exports, _component) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\n function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\n function _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\n function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\n function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\n function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\n function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\n function _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\n function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n var ExpenseListComponent = /*#__PURE__*/function (_Component) {\n _inherits(ExpenseListComponent, _Component);\n\n var _super = _createSuper(ExpenseListComponent);\n\n function ExpenseListComponent() {\n _classCallCheck(this, ExpenseListComponent);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(ExpenseListComponent, [{\n key: \"showDeleteButton\",\n get: function get() {\n return !!this.args.deletable;\n }\n }]);\n\n return ExpenseListComponent;\n }(_component.default);\n\n _exports.default = ExpenseListComponent;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\ndefine(\"kredits-web/components/reimbursement-list/component\", [\"exports\", \"@glimmer/component\", \"kredits-web/config/environment\"], function (_exports, _component, _environment) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _dec, _dec2, _dec3, _class, _descriptor, _descriptor2;\n\n function _initializerDefineProperty(target, property, descriptor, context) { if (!descriptor) return; Object.defineProperty(target, property, { enumerable: descriptor.enumerable, configurable: descriptor.configurable, writable: descriptor.writable, value: descriptor.initializer ? descriptor.initializer.call(context) : void 0 }); }\n\n function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\n function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\n function _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\n function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\n function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\n function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\n function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\n function _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\n function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n function _applyDecoratedDescriptor(target, property, decorators, descriptor, context) { var desc = {}; Object.keys(descriptor).forEach(function (key) { desc[key] = descriptor[key]; }); desc.enumerable = !!desc.enumerable; desc.configurable = !!desc.configurable; if ('value' in desc || desc.initializer) { desc.writable = true; } desc = decorators.slice().reverse().reduce(function (desc, decorator) { return decorator(target, property, desc) || desc; }, desc); if (context && desc.initializer !== void 0) { desc.value = desc.initializer ? desc.initializer.call(context) : void 0; desc.initializer = undefined; } if (desc.initializer === void 0) { Object.defineProperty(target, property, desc); desc = null; } return desc; }\n\n function _initializerWarningHelper(descriptor, context) { throw new Error('Decorating class property failed. Please ensure that ' + 'proposal-class-properties is enabled and runs after the decorators transform.'); }\n\n var ReimbursementListComponent = (_dec = Ember.inject.service, _dec2 = Ember.computed.sort('args.items', 'itemSorting'), _dec3 = Ember._action, (_class = /*#__PURE__*/function (_Component) {\n _inherits(ReimbursementListComponent, _Component);\n\n var _super = _createSuper(ReimbursementListComponent);\n\n function ReimbursementListComponent() {\n var _this;\n\n _classCallCheck(this, ReimbursementListComponent);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _initializerDefineProperty(_assertThisInitialized(_this), \"kredits\", _descriptor, _assertThisInitialized(_this));\n\n _defineProperty(_assertThisInitialized(_this), \"itemSorting\", Object.freeze(['pendingStatus:asc', 'id:desc']));\n\n _initializerDefineProperty(_assertThisInitialized(_this), \"itemsSorted\", _descriptor2, _assertThisInitialized(_this));\n\n return _this;\n }\n\n _createClass(ReimbursementListComponent, [{\n key: \"ipfsGatewayUrl\",\n get: function get() {\n return _environment.default.ipfs.gatewayUrl;\n }\n }, {\n key: \"veto\",\n value: function veto(id) {\n this.kredits.vetoReimbursement(id).then(function (transaction) {\n console.debug('[controllers:budget] Veto submitted to chain: ' + transaction.hash);\n });\n }\n }]);\n\n return ReimbursementListComponent;\n }(_component.default), (_descriptor = _applyDecoratedDescriptor(_class.prototype, \"kredits\", [_dec], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n }), _descriptor2 = _applyDecoratedDescriptor(_class.prototype, \"itemsSorted\", [_dec2], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n }), _applyDecoratedDescriptor(_class.prototype, \"veto\", [_dec3], Object.getOwnPropertyDescriptor(_class.prototype, \"veto\"), _class.prototype)), _class));\n _exports.default = ReimbursementListComponent;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\ndefine(\"kredits-web/components/topbar-account-panel/component\", [\"exports\", \"@glimmer/component\"], function (_exports, _component) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _dec, _dec2, _dec3, _dec4, _dec5, _class, _descriptor, _descriptor2, _descriptor3;\n\n function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\n function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\n function _initializerDefineProperty(target, property, descriptor, context) { if (!descriptor) return; Object.defineProperty(target, property, { enumerable: descriptor.enumerable, configurable: descriptor.configurable, writable: descriptor.writable, value: descriptor.initializer ? descriptor.initializer.call(context) : void 0 }); }\n\n function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\n function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\n function _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\n function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\n function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\n function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\n function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\n function _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\n function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n function _applyDecoratedDescriptor(target, property, decorators, descriptor, context) { var desc = {}; Object.keys(descriptor).forEach(function (key) { desc[key] = descriptor[key]; }); desc.enumerable = !!desc.enumerable; desc.configurable = !!desc.configurable; if ('value' in desc || desc.initializer) { desc.writable = true; } desc = decorators.slice().reverse().reduce(function (desc, decorator) { return decorator(target, property, desc) || desc; }, desc); if (context && desc.initializer !== void 0) { desc.value = desc.initializer ? desc.initializer.call(context) : void 0; desc.initializer = undefined; } if (desc.initializer === void 0) { Object.defineProperty(target, property, desc); desc = null; } return desc; }\n\n function _initializerWarningHelper(descriptor, context) { throw new Error('Decorating class property failed. Please ensure that ' + 'proposal-class-properties is enabled and runs after the decorators transform.'); }\n\n var TopbarAccountPanelComponent = (_dec = Ember.inject.service, _dec2 = Ember.inject.service, _dec3 = Ember._tracked, _dec4 = Ember._action, _dec5 = Ember._action, (_class = /*#__PURE__*/function (_Component) {\n _inherits(TopbarAccountPanelComponent, _Component);\n\n var _super = _createSuper(TopbarAccountPanelComponent);\n\n function TopbarAccountPanelComponent() {\n var _this;\n\n _classCallCheck(this, TopbarAccountPanelComponent);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _initializerDefineProperty(_assertThisInitialized(_this), \"router\", _descriptor, _assertThisInitialized(_this));\n\n _initializerDefineProperty(_assertThisInitialized(_this), \"kredits\", _descriptor2, _assertThisInitialized(_this));\n\n _initializerDefineProperty(_assertThisInitialized(_this), \"setupInProgress\", _descriptor3, _assertThisInitialized(_this));\n\n return _this;\n }\n\n _createClass(TopbarAccountPanelComponent, [{\n key: \"userHasWallet\",\n get: function get() {\n return Ember.isPresent(window.ethereum);\n }\n }, {\n key: \"walletConnected\",\n get: function get() {\n return this.userHasWallet && this.kredits.hasAccounts;\n }\n }, {\n key: \"walletDisconnected\",\n get: function get() {\n return this.userHasWallet && !this.kredits.hasAccounts;\n }\n }, {\n key: \"signup\",\n value: function signup() {\n this.router.transitionTo('signup');\n }\n }, {\n key: \"connectWallet\",\n value: function () {\n var _connectWallet = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {\n return regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n this.setupInProgress = true;\n _context.next = 3;\n return this.kredits.connectWallet();\n\n case 3:\n this.setupInProgress = false;\n\n case 4:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n function connectWallet() {\n return _connectWallet.apply(this, arguments);\n }\n\n return connectWallet;\n }()\n }]);\n\n return TopbarAccountPanelComponent;\n }(_component.default), (_descriptor = _applyDecoratedDescriptor(_class.prototype, \"router\", [_dec], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n }), _descriptor2 = _applyDecoratedDescriptor(_class.prototype, \"kredits\", [_dec2], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n }), _descriptor3 = _applyDecoratedDescriptor(_class.prototype, \"setupInProgress\", [_dec3], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function initializer() {\n return false;\n }\n }), _applyDecoratedDescriptor(_class.prototype, \"signup\", [_dec4], Object.getOwnPropertyDescriptor(_class.prototype, \"signup\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"connectWallet\", [_dec5], Object.getOwnPropertyDescriptor(_class.prototype, \"connectWallet\"), _class.prototype)), _class));\n _exports.default = TopbarAccountPanelComponent;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\ndefine(\"kredits-web/controllers/budget\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _dec, _dec2, _dec3, _class, _descriptor, _descriptor2, _descriptor3;\n\n function _initializerDefineProperty(target, property, descriptor, context) { if (!descriptor) return; Object.defineProperty(target, property, { enumerable: descriptor.enumerable, configurable: descriptor.configurable, writable: descriptor.writable, value: descriptor.initializer ? descriptor.initializer.call(context) : void 0 }); }\n\n function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\n function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\n function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n function _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\n function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\n function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\n function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\n function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\n function _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\n function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n function _applyDecoratedDescriptor(target, property, decorators, descriptor, context) { var desc = {}; Object.keys(descriptor).forEach(function (key) { desc[key] = descriptor[key]; }); desc.enumerable = !!desc.enumerable; desc.configurable = !!desc.configurable; if ('value' in desc || desc.initializer) { desc.writable = true; } desc = decorators.slice().reverse().reduce(function (desc, decorator) { return decorator(target, property, desc) || desc; }, desc); if (context && desc.initializer !== void 0) { desc.value = desc.initializer ? desc.initializer.call(context) : void 0; desc.initializer = undefined; } if (desc.initializer === void 0) { Object.defineProperty(target, property, desc); desc = null; } return desc; }\n\n function _initializerWarningHelper(descriptor, context) { throw new Error('Decorating class property failed. Please ensure that ' + 'proposal-class-properties is enabled and runs after the decorators transform.'); }\n\n var BudgetController = (_dec = Ember.inject.service, _dec2 = Ember.computed.alias('kredits.reimbursementsUnconfirmed'), _dec3 = Ember.computed.alias('kredits.reimbursementsConfirmed'), (_class = /*#__PURE__*/function (_Ember$Controller) {\n _inherits(BudgetController, _Ember$Controller);\n\n var _super = _createSuper(BudgetController);\n\n function BudgetController() {\n var _this;\n\n _classCallCheck(this, BudgetController);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _initializerDefineProperty(_assertThisInitialized(_this), \"kredits\", _descriptor, _assertThisInitialized(_this));\n\n _initializerDefineProperty(_assertThisInitialized(_this), \"reimbursementsUnconfirmed\", _descriptor2, _assertThisInitialized(_this));\n\n _initializerDefineProperty(_assertThisInitialized(_this), \"reimbursementsConfirmed\", _descriptor3, _assertThisInitialized(_this));\n\n return _this;\n }\n\n return _createClass(BudgetController);\n }(Ember.Controller), (_descriptor = _applyDecoratedDescriptor(_class.prototype, \"kredits\", [_dec], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n }), _descriptor2 = _applyDecoratedDescriptor(_class.prototype, \"reimbursementsUnconfirmed\", [_dec2], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n }), _descriptor3 = _applyDecoratedDescriptor(_class.prototype, \"reimbursementsConfirmed\", [_dec3], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n })), _class));\n _exports.default = BudgetController;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\ndefine(\"kredits-web/controllers/signup/account\", [\"exports\", \"kredits-web/config/environment\", \"web3-utils\"], function (_exports, _environment, _web3Utils) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _dec, _dec2, _dec3, _class, _descriptor, _descriptor2;\n\n function _initializerDefineProperty(target, property, descriptor, context) { if (!descriptor) return; Object.defineProperty(target, property, { enumerable: descriptor.enumerable, configurable: descriptor.configurable, writable: descriptor.writable, value: descriptor.initializer ? descriptor.initializer.call(context) : void 0 }); }\n\n function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\n function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\n function _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\n function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\n function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\n function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\n function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\n function _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\n function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n function _applyDecoratedDescriptor(target, property, decorators, descriptor, context) { var desc = {}; Object.keys(descriptor).forEach(function (key) { desc[key] = descriptor[key]; }); desc.enumerable = !!desc.enumerable; desc.configurable = !!desc.configurable; if ('value' in desc || desc.initializer) { desc.writable = true; } desc = decorators.slice().reverse().reduce(function (desc, decorator) { return decorator(target, property, desc) || desc; }, desc); if (context && desc.initializer !== void 0) { desc.value = desc.initializer ? desc.initializer.call(context) : void 0; desc.initializer = undefined; } if (desc.initializer === void 0) { Object.defineProperty(target, property, desc); desc = null; } return desc; }\n\n function _initializerWarningHelper(descriptor, context) { throw new Error('Decorating class property failed. Please ensure that ' + 'proposal-class-properties is enabled and runs after the decorators transform.'); }\n\n var AccountController = (_dec = Ember.inject.service, _dec2 = Ember._tracked, _dec3 = Ember._action, (_class = /*#__PURE__*/function (_Ember$Controller) {\n _inherits(AccountController, _Ember$Controller);\n\n var _super = _createSuper(AccountController);\n\n function AccountController() {\n var _this;\n\n _classCallCheck(this, AccountController);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _initializerDefineProperty(_assertThisInitialized(_this), \"kredits\", _descriptor, _assertThisInitialized(_this));\n\n _initializerDefineProperty(_assertThisInitialized(_this), \"accountAddress\", _descriptor2, _assertThisInitialized(_this));\n\n return _this;\n }\n\n _createClass(AccountController, [{\n key: \"isValidEthAccount\",\n get: function get() {\n return (0, _web3Utils.isAddress)(this.accountAddress);\n }\n }, {\n key: \"signupButtonDisabled\",\n get: function get() {\n return !this.isValidEthAccount;\n }\n }, {\n key: \"completeSignup\",\n value: function completeSignup() {\n var _this2 = this;\n\n var payload = {\n accessToken: this.kredits.githubAccessToken,\n account: this.accountAddress\n };\n fetch(_environment.default.githubSignupUrl, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify(payload)\n }).then(function (res) {\n return res.json();\n }).then(function (data) {\n if (data.error) {\n alert('Creating profile failed. We have been notified about this error and will take a look soon. Sorry!');\n console.warn('Creating contributor profile failed:', JSON.parse(data.error.body).error.message);\n return false;\n } else {\n console.log('[signup/account] Created contributor:', data);\n _this2.kredits.githubAccessToken = null;\n _this2.accountAddress = null;\n\n _this2.transitionToRoute('signup.complete');\n }\n });\n }\n }]);\n\n return AccountController;\n }(Ember.Controller), (_descriptor = _applyDecoratedDescriptor(_class.prototype, \"kredits\", [_dec], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n }), _descriptor2 = _applyDecoratedDescriptor(_class.prototype, \"accountAddress\", [_dec2], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function initializer() {\n return null;\n }\n }), _applyDecoratedDescriptor(_class.prototype, \"completeSignup\", [_dec3], Object.getOwnPropertyDescriptor(_class.prototype, \"completeSignup\"), _class.prototype)), _class));\n _exports.default = AccountController;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\ndefine(\"kredits-web/controllers/signup/index\", [\"exports\", \"kredits-web/config/environment\"], function (_exports, _environment) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _dec, _class;\n\n function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\n function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\n function _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\n function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\n function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\n function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\n function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\n function _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\n function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n function _applyDecoratedDescriptor(target, property, decorators, descriptor, context) { var desc = {}; Object.keys(descriptor).forEach(function (key) { desc[key] = descriptor[key]; }); desc.enumerable = !!desc.enumerable; desc.configurable = !!desc.configurable; if ('value' in desc || desc.initializer) { desc.writable = true; } desc = decorators.slice().reverse().reduce(function (desc, decorator) { return decorator(target, property, desc) || desc; }, desc); if (context && desc.initializer !== void 0) { desc.value = desc.initializer ? desc.initializer.call(context) : void 0; desc.initializer = undefined; } if (desc.initializer === void 0) { Object.defineProperty(target, property, desc); desc = null; } return desc; }\n\n var IndexController = (_dec = Ember._action, (_class = /*#__PURE__*/function (_Ember$Controller) {\n _inherits(IndexController, _Ember$Controller);\n\n var _super = _createSuper(IndexController);\n\n function IndexController() {\n _classCallCheck(this, IndexController);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(IndexController, [{\n key: \"connectGithub\",\n value: function connectGithub() {\n window.location = _environment.default.githubConnectUrl;\n }\n }]);\n\n return IndexController;\n }(Ember.Controller), (_applyDecoratedDescriptor(_class.prototype, \"connectGithub\", [_dec], Object.getOwnPropertyDescriptor(_class.prototype, \"connectGithub\"), _class.prototype)), _class));\n _exports.default = IndexController;\n});","define(\"kredits-web/component-managers/glimmer\", [\"exports\", \"@glimmer/component/-private/ember-component-manager\"], function (_exports, _emberComponentManager) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function get() {\n return _emberComponentManager.default;\n }\n });\n});","define(\"kredits-web/components/add-contribution/component\", [\"exports\", \"moment\"], function (_exports, _moment) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\n function _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\n function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\n function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\n function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\n function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\n var _default = Ember.Component.extend({\n kredits: Ember.inject.service(),\n attributes: null,\n contributors: Ember.computed('kredits.contributorsSorted.[]', function () {\n return this.kredits.contributorsSorted.map(function (c) {\n return {\n id: c.id.toString(),\n name: c.name\n };\n });\n }),\n isValidContributor: Ember.computed.notEmpty('contributorId'),\n isValidKind: Ember.computed.notEmpty('kind'),\n isValidAmount: Ember.computed('amount', function () {\n return parseInt(this.amount, 10) > 0;\n }),\n isValidDescription: Ember.computed.notEmpty('description'),\n isValidUrl: Ember.computed.notEmpty('url'),\n isValid: Ember.computed.and('isValidContributor', 'isValidKind', 'isValidAmount', 'isValidDescription'),\n init: function init() {\n this._super.apply(this, arguments);\n\n this.set('defaultDate', (0, _moment.default)().startOf('hour').toDate());\n this.set('defaultAttr', {\n contributorId: null,\n kind: null,\n date: this.defaultDate,\n amount: null,\n description: null,\n url: null,\n details: null\n });\n this.set('attributes', Ember.assign({}, this.defaultAttr, this.attributes));\n this.reset();\n },\n reset: function reset() {\n this.setProperties(this.attributes);\n },\n actions: {\n submit: function submit(evt) {\n var _this = this;\n\n evt.preventDefault();\n\n if (!this.isValid) {\n alert('Invalid data. Please review and try again.');\n return;\n }\n\n var attributes = this.getProperties(Object.keys(this.attributes));\n attributes.contributorId = parseInt(this.contributorId);\n var dateInput = attributes.date instanceof Array ? attributes.date[0] : attributes.date;\n\n var _dateInput$toISOStrin = dateInput.toISOString().split('T'),\n _dateInput$toISOStrin2 = _slicedToArray(_dateInput$toISOStrin, 2),\n date = _dateInput$toISOStrin2[0],\n time = _dateInput$toISOStrin2[1];\n\n var _ref = [date, time];\n attributes.date = _ref[0];\n attributes.time = _ref[1];\n this.set('inProgress', true);\n this.save(attributes).then(function\n /*contribution*/\n () {\n _this.reset();\n }, function (err) {\n console.warn(err);\n window.alert('Something went wrong. Check the browser console for details.');\n }).finally(function () {\n return _this.set('inProgress', false);\n });\n }\n }\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/components/add-contribution/template\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.HTMLBars.template({\n \"id\": \"Ht3NNTLA\",\n \"block\": \"{\\\"symbols\\\":[\\\"contributor\\\"],\\\"statements\\\":[[10,\\\"form\\\"],[15,\\\"onsubmit\\\",[30,[36,1],[[32,0],\\\"submit\\\"],null]],[12],[2,\\\"\\\\n \\\"],[10,\\\"label\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"p\\\"],[14,0,\\\"label\\\"],[12],[2,\\\"Contributor:\\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"p\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"select\\\"],[14,\\\"required\\\",\\\"\\\"],[15,\\\"onchange\\\",[30,[36,1],[[32,0],[30,[36,2],[[32,0,[\\\"contributorId\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[12],[2,\\\"\\\\n \\\"],[10,\\\"option\\\"],[14,2,\\\"\\\"],[14,\\\"selected\\\",\\\"\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,\\\"hidden\\\",\\\"\\\"],[12],[13],[2,\\\"\\\\n\\\"],[6,[37,4],[[30,[36,3],[[30,[36,3],[[32,0,[\\\"contributors\\\"]]],null]],null]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\" \\\"],[10,\\\"option\\\"],[15,2,[32,1,[\\\"id\\\"]]],[15,\\\"selected\\\",[30,[36,0],[[32,0,[\\\"contributorId\\\"]],[32,1,[\\\"id\\\"]]],null]],[12],[1,[32,1,[\\\"name\\\"]]],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[1]}]]],[2,\\\" \\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"label\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"p\\\"],[14,0,\\\"label\\\"],[12],[2,\\\"Kind:\\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"p\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"select\\\"],[14,\\\"required\\\",\\\"\\\"],[15,\\\"onchange\\\",[30,[36,1],[[32,0],[30,[36,2],[[32,0,[\\\"kind\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[12],[2,\\\"\\\\n \\\"],[10,\\\"option\\\"],[14,2,\\\"\\\"],[14,\\\"selected\\\",\\\"\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,\\\"hidden\\\",\\\"\\\"],[12],[13],[2,\\\"\\\\n \\\"],[10,\\\"option\\\"],[14,2,\\\"bureaucracy\\\"],[15,\\\"selected\\\",[30,[36,0],[[32,0,[\\\"kind\\\"]],\\\"bureaucracy\\\"],null]],[12],[2,\\\"Bureaucracy\\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"option\\\"],[14,2,\\\"community\\\"],[15,\\\"selected\\\",[30,[36,0],[[32,0,[\\\"kind\\\"]],\\\"community\\\"],null]],[12],[2,\\\"Community\\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"option\\\"],[14,2,\\\"design\\\"],[15,\\\"selected\\\",[30,[36,0],[[32,0,[\\\"kind\\\"]],\\\"design\\\"],null]],[12],[2,\\\"Design\\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"option\\\"],[14,2,\\\"dev\\\"],[15,\\\"selected\\\",[30,[36,0],[[32,0,[\\\"kind\\\"]],\\\"dev\\\"],null]],[12],[2,\\\"Development\\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"option\\\"],[14,2,\\\"docs\\\"],[15,\\\"selected\\\",[30,[36,0],[[32,0,[\\\"kind\\\"]],\\\"docs\\\"],null]],[12],[2,\\\"Documentation\\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"option\\\"],[14,2,\\\"ops\\\"],[15,\\\"selected\\\",[30,[36,0],[[32,0,[\\\"kind\\\"]],\\\"ops\\\"],null]],[12],[2,\\\"IT Operations\\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"option\\\"],[14,2,\\\"outreach\\\"],[15,\\\"selected\\\",[30,[36,0],[[32,0,[\\\"kind\\\"]],\\\"outreach\\\"],null]],[12],[2,\\\"Outreach\\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"option\\\"],[14,2,\\\"qa\\\"],[15,\\\"selected\\\",[30,[36,0],[[32,0,[\\\"kind\\\"]],\\\"qa\\\"],null]],[12],[2,\\\"Quality Assurance\\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"option\\\"],[14,2,\\\"special\\\"],[15,\\\"selected\\\",[30,[36,0],[[32,0,[\\\"kind\\\"]],\\\"special\\\"],null]],[12],[2,\\\"Special\\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"label\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"p\\\"],[14,0,\\\"label\\\"],[12],[2,\\\"Date:\\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"p\\\"],[12],[2,\\\"\\\\n \\\"],[1,[30,[36,5],null,[[\\\"date\\\",\\\"defaultDate\\\",\\\"maxDate\\\",\\\"enableTime\\\",\\\"time_24hr\\\",\\\"onChange\\\"],[[32,0,[\\\"date\\\"]],[32,0,[\\\"defaultDate\\\"]],[32,0,[\\\"defaultDate\\\"]],true,true,[30,[36,1],[[32,0],[30,[36,2],[[32,0,[\\\"date\\\"]]],null]],null]]]]],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"label\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"p\\\"],[14,0,\\\"label\\\"],[12],[2,\\\"Amount:\\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"p\\\"],[12],[2,\\\"\\\\n \\\"],[1,[30,[36,7],null,[[\\\"type\\\",\\\"placeholder\\\",\\\"value\\\",\\\"class\\\"],[\\\"text\\\",\\\"500\\\",[32,0,[\\\"amount\\\"]],[30,[36,6],[[32,0,[\\\"isValidAmount\\\"]],\\\"valid\\\",\\\"\\\"],null]]]]],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"label\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"p\\\"],[14,0,\\\"label\\\"],[12],[2,\\\"Description:\\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"p\\\"],[12],[2,\\\"\\\\n \\\"],[1,[30,[36,7],null,[[\\\"type\\\",\\\"value\\\",\\\"class\\\"],[\\\"text\\\",[32,0,[\\\"description\\\"]],[30,[36,6],[[32,0,[\\\"isValidDescription\\\"]],\\\"valid\\\",\\\"\\\"],null]]]]],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"label\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"p\\\"],[14,0,\\\"label\\\"],[12],[2,\\\"URL (optional):\\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"p\\\"],[12],[2,\\\"\\\\n \\\"],[1,[30,[36,7],null,[[\\\"type\\\",\\\"value\\\",\\\"class\\\"],[\\\"text\\\",[32,0,[\\\"url\\\"]],[30,[36,6],[[32,0,[\\\"isValidUrl\\\"]],\\\"valid\\\",\\\"\\\"],null]]]]],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n\\\\n\\\"],[6,[37,6],[[32,0,[\\\"details\\\"]]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\" \\\"],[10,\\\"label\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"p\\\"],[14,0,\\\"label\\\"],[12],[2,\\\"Details:\\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"p\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"pre\\\"],[12],[2,\\\" \\\"],[1,[32,0,[\\\"details\\\"]]],[2,\\\" \\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]]],[2,\\\"\\\\n \\\"],[10,\\\"p\\\"],[14,0,\\\"actions\\\"],[12],[2,\\\"\\\\n \\\"],[1,[30,[36,7],null,[[\\\"type\\\",\\\"disabled\\\",\\\"value\\\"],[\\\"submit\\\",[32,0,[\\\"inProgress\\\"]],[30,[36,6],[[32,0,[\\\"inProgress\\\"]],\\\"Processing\\\",\\\"Save\\\"],null]]]]],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n\\\"],[13],[2,\\\"\\\\n\\\\n\\\"]],\\\"hasEval\\\":false,\\\"upvars\\\":[\\\"eq\\\",\\\"action\\\",\\\"mut\\\",\\\"-track-array\\\",\\\"each\\\",\\\"ember-flatpickr\\\",\\\"if\\\",\\\"input\\\"]}\",\n \"meta\": {\n \"moduleName\": \"kredits-web/components/add-contribution/template.hbs\"\n }\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/components/add-contributor/component\", [\"exports\", \"web3-utils\"], function (_exports, _web3Utils) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.Component.extend({\n router: Ember.inject.service(),\n kredits: Ember.inject.service(),\n attributes: null,\n isValidAccount: Ember.computed('account', function () {\n return (0, _web3Utils.isAddress)(this.account);\n }),\n isValidName: Ember.computed.notEmpty('name'),\n isValidURL: Ember.computed.notEmpty('url'),\n isValidGithubUID: Ember.computed.notEmpty('github_uid'),\n isValidGithubUsername: Ember.computed.notEmpty('github_username'),\n isValidGiteaUsername: Ember.computed.notEmpty('gitea_username'),\n isValidWikiUsername: Ember.computed.notEmpty('wiki_username'),\n isValidZoomDisplayName: Ember.computed.notEmpty('zoom_display_name'),\n isValid: Ember.computed.and('isValidAccount', 'isValidName', 'isValidGithubUID'),\n inProgress: false,\n init: function init() {\n this._super.apply(this, arguments);\n\n this.setDefaultAttributes();\n this.reset();\n },\n setDefaultAttributes: function setDefaultAttributes() {\n if (Ember.isPresent(this.attributes)) {\n return;\n }\n\n this.set('attributes', {\n account: null,\n name: null,\n kind: 'person',\n url: null,\n github_username: null,\n github_uid: null,\n gitea_username: null,\n wiki_username: null,\n zoom_display_name: null\n });\n },\n reset: function reset() {\n this.setProperties(this.attributes);\n },\n actions: {\n submit: function submit(evt) {\n var _this = this;\n\n evt.preventDefault();\n\n if (!this.kredits.currentUserIsCore) {\n window.alert('Only core team members can edit profiles. Please ask someone to set you up.');\n return;\n }\n\n if (!this.isValid) {\n window.alert('Invalid data. Please review and try again.');\n return;\n }\n\n var attributes = Object.keys(this.attributes);\n var contributor = this.getProperties(attributes);\n this.set('inProgress', true);\n this.save(contributor).then(function () {\n _this.reset();\n }).catch(function (err) {\n console.warn(err);\n window.alert('Something went wrong. Please check the browser console.');\n }).finally(function () {\n _this.set('inProgress', false);\n\n _this.router.transitionTo('dashboard');\n });\n }\n }\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/components/add-contributor/template\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.HTMLBars.template({\n \"id\": \"sjEfCFXi\",\n \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[10,\\\"form\\\"],[15,\\\"onsubmit\\\",[30,[36,0],[[32,0],\\\"submit\\\"],null]],[12],[2,\\\"\\\\n \\\"],[10,\\\"p\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"c-account\\\"],[12],[2,\\\"Rootstock account\\\"],[13],[2,\\\"\\\\n \\\"],[8,\\\"input\\\",[[24,3,\\\"account\\\"],[24,1,\\\"c-account\\\"],[24,\\\"placeholder\\\",\\\"0xF18E631Ea191aE4ebE70046Fcb01a436554421BA4\\\"],[16,0,[30,[36,1],[[32,0,[\\\"isValidAccount\\\"]],\\\"valid\\\",\\\"\\\"],null]]],[[\\\"@type\\\",\\\"@value\\\"],[\\\"text\\\",[32,0,[\\\"account\\\"]]]],null],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"p\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"c-kind\\\"],[12],[2,\\\"Kind\\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"select\\\"],[14,\\\"required\\\",\\\"\\\"],[15,\\\"onchange\\\",[30,[36,0],[[32,0],[30,[36,2],[[32,0,[\\\"kind\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"c-kind\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"option\\\"],[14,2,\\\"person\\\"],[15,\\\"selected\\\",[30,[36,3],[[32,0,[\\\"kind\\\"]],\\\"person\\\"],null]],[12],[2,\\\"Person\\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"option\\\"],[14,2,\\\"organization\\\"],[15,\\\"selected\\\",[30,[36,3],[[32,0,[\\\"kind\\\"]],\\\"organization\\\"],null]],[12],[2,\\\"Organization\\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"p\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"c-name\\\"],[12],[2,\\\"Name\\\"],[13],[2,\\\"\\\\n \\\"],[1,[30,[36,4],null,[[\\\"name\\\",\\\"type\\\",\\\"value\\\",\\\"placeholder\\\",\\\"class\\\",\\\"id\\\"],[\\\"name\\\",\\\"text\\\",[32,0,[\\\"name\\\"]],\\\"Zero Cool\\\",[30,[36,1],[[32,0,[\\\"isValidName\\\"]],\\\"valid\\\",\\\"\\\"],null],\\\"c-name\\\"]]]],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"p\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"c-url\\\"],[12],[2,\\\"URL\\\"],[13],[2,\\\"\\\\n \\\"],[1,[30,[36,4],null,[[\\\"name\\\",\\\"type\\\",\\\"value\\\",\\\"placeholder\\\",\\\"class\\\",\\\"id\\\"],[\\\"url\\\",\\\"text\\\",[32,0,[\\\"url\\\"]],\\\"http://zerocool.bit\\\",[30,[36,1],[[32,0,[\\\"isValidURL\\\"]],\\\"valid\\\",\\\"\\\"],null],\\\"c-url\\\"]]]],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"p\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"c-github-uid\\\"],[12],[2,\\\"GitHub UID\\\"],[13],[2,\\\"\\\\n \\\"],[1,[30,[36,4],null,[[\\\"name\\\",\\\"type\\\",\\\"value\\\",\\\"placeholder\\\",\\\"class\\\",\\\"id\\\"],[\\\"github_uid\\\",\\\"text\\\",[32,0,[\\\"github_uid\\\"]],\\\"2342\\\",[30,[36,1],[[32,0,[\\\"isValidGithubUID\\\"]],\\\"valid\\\",\\\"\\\"],null],\\\"c-github-uid\\\"]]]],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"p\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"c-github-username\\\"],[12],[2,\\\"GitHub username\\\"],[13],[2,\\\"\\\\n \\\"],[1,[30,[36,4],null,[[\\\"name\\\",\\\"type\\\",\\\"value\\\",\\\"placeholder\\\",\\\"class\\\",\\\"id\\\"],[\\\"github_username\\\",\\\"text\\\",[32,0,[\\\"github_username\\\"]],\\\"zerocool\\\",[30,[36,1],[[32,0,[\\\"isValidGithubUsername\\\"]],\\\"valid\\\",\\\"\\\"],null],\\\"c-github-username\\\"]]]],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"p\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"c-gitea-username\\\"],[12],[2,\\\"Gitea username\\\"],[13],[2,\\\"\\\\n \\\"],[1,[30,[36,4],null,[[\\\"name\\\",\\\"type\\\",\\\"value\\\",\\\"placeholder\\\",\\\"class\\\",\\\"id\\\"],[\\\"gitea_username\\\",\\\"text\\\",[32,0,[\\\"gitea_username\\\"]],\\\"zerocool\\\",[30,[36,1],[[32,0,[\\\"isValidGiteaUsername\\\"]],\\\"valid\\\",\\\"\\\"],null],\\\"c-gitea-username\\\"]]]],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"p\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"c-wiki-username\\\"],[12],[2,\\\"Wiki username\\\"],[13],[2,\\\"\\\\n \\\"],[1,[30,[36,4],null,[[\\\"name\\\",\\\"type\\\",\\\"value\\\",\\\"placeholder\\\",\\\"class\\\",\\\"id\\\"],[\\\"wiki_username\\\",\\\"text\\\",[32,0,[\\\"wiki_username\\\"]],\\\"ZeroCool\\\",[30,[36,1],[[32,0,[\\\"isValidWikiUsername\\\"]],\\\"valid\\\",\\\"\\\"],null],\\\"c-wiki-username\\\"]]]],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"p\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"c-zoom-display-name\\\"],[12],[2,\\\"Zoom display name\\\"],[13],[2,\\\"\\\\n \\\"],[1,[30,[36,4],null,[[\\\"name\\\",\\\"type\\\",\\\"value\\\",\\\"placeholder\\\",\\\"class\\\",\\\"id\\\"],[\\\"zoom_display_name\\\",\\\"text\\\",[32,0,[\\\"zoom_display_name\\\"]],\\\"Zero Cool\\\",[30,[36,1],[[32,0,[\\\"isValidZoomDisplayName\\\"]],\\\"valid\\\",\\\"\\\"],null],\\\"c-zoom-display-name\\\"]]]],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"p\\\"],[14,0,\\\"actions\\\"],[12],[2,\\\"\\\\n \\\"],[1,[30,[36,4],null,[[\\\"type\\\",\\\"disabled\\\",\\\"value\\\"],[\\\"submit\\\",[32,0,[\\\"inProgress\\\"]],[30,[36,1],[[32,0,[\\\"inProgress\\\"]],\\\"Processing\\\",\\\"Save\\\"],null]]]]],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n\\\"],[13],[2,\\\"\\\\n\\\"]],\\\"hasEval\\\":false,\\\"upvars\\\":[\\\"action\\\",\\\"if\\\",\\\"mut\\\",\\\"eq\\\",\\\"input\\\"]}\",\n \"meta\": {\n \"moduleName\": \"kredits-web/components/add-contributor/template.hbs\"\n }\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/components/add-expense-item/template\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.HTMLBars.template({\n \"id\": \"xrdEJbVd\",\n \"block\": \"{\\\"symbols\\\":[\\\"currency\\\"],\\\"statements\\\":[[11,\\\"form\\\"],[24,1,\\\"add-expense-item\\\"],[24,\\\"novalidate\\\",\\\"\\\"],[4,[38,1],[\\\"submit\\\",[32,0,[\\\"submit\\\"]]],null],[12],[2,\\\"\\\\n \\\"],[10,\\\"fieldset\\\"],[14,0,\\\"horizontal\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"label\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"p\\\"],[14,0,\\\"label\\\"],[12],[2,\\\"Amount:\\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"p\\\"],[12],[2,\\\"\\\\n \\\"],[8,\\\"input\\\",[],[[\\\"@name\\\",\\\"@type\\\",\\\"@placeholder\\\",\\\"@value\\\",\\\"@required\\\",\\\"@pattern\\\",\\\"@class\\\"],[\\\"expense-amount\\\",\\\"text\\\",\\\"10\\\",[32,0,[\\\"amount\\\"]],true,\\\"([0-9]*[.])?[0-9]+\\\",[32,0,[\\\"amountInputClass\\\"]]]],null],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"label\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"p\\\"],[14,0,\\\"label\\\"],[12],[2,\\\"Currency:\\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"p\\\"],[12],[2,\\\"\\\\n \\\"],[11,\\\"select\\\"],[24,\\\"required\\\",\\\"\\\"],[24,3,\\\"expense-currency\\\"],[4,[38,1],[\\\"change\\\",[32,0,[\\\"updateCurrency\\\"]]],null],[12],[2,\\\"\\\\n \\\"],[10,\\\"option\\\"],[14,2,\\\"\\\"],[14,\\\"selected\\\",\\\"\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,\\\"hidden\\\",\\\"\\\"],[12],[13],[2,\\\"\\\\n\\\"],[6,[37,3],[[30,[36,2],[[30,[36,2],[[32,0,[\\\"currencies\\\"]]],null]],null]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\" \\\"],[10,\\\"option\\\"],[15,2,[32,1,[\\\"code\\\"]]],[15,\\\"selected\\\",[30,[36,0],[[32,0,[\\\"currency\\\"]],[32,1,[\\\"code\\\"]]],null]],[12],[1,[32,1,[\\\"code\\\"]]],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[1]}]]],[2,\\\" \\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"label\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"p\\\"],[14,0,\\\"label\\\"],[12],[2,\\\"Date:\\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"p\\\"],[12],[2,\\\"\\\\n \\\"],[8,\\\"ember-flatpickr\\\",[],[[\\\"@date\\\",\\\"@defaultDate\\\",\\\"@maxDate\\\",\\\"@enableTime\\\",\\\"@onChange\\\"],[[32,0,[\\\"date\\\"]],[32,0,[\\\"defaultDate\\\"]],[32,0,[\\\"defaultDate\\\"]],false,[30,[36,5],[[30,[36,4],[[32,0,[\\\"date\\\"]]],null]],null]]],null],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"label\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"p\\\"],[14,0,\\\"label\\\"],[12],[2,\\\"Title:\\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"p\\\"],[12],[2,\\\"\\\\n \\\"],[8,\\\"input\\\",[],[[\\\"@name\\\",\\\"@type\\\",\\\"@value\\\",\\\"@required\\\"],[\\\"expense-title\\\",\\\"text\\\",[32,0,[\\\"title\\\"]],true]],null],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"label\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"p\\\"],[14,0,\\\"label\\\"],[12],[2,\\\"Description (optional):\\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"p\\\"],[12],[2,\\\"\\\\n \\\"],[8,\\\"input\\\",[],[[\\\"@name\\\",\\\"@type\\\",\\\"@value\\\"],[\\\"expense-description\\\",\\\"text\\\",[32,0,[\\\"description\\\"]]]],null],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"label\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"p\\\"],[14,0,\\\"label\\\"],[12],[2,\\\"URL (optional):\\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"p\\\"],[12],[2,\\\"\\\\n \\\"],[8,\\\"input\\\",[],[[\\\"@name\\\",\\\"@type\\\",\\\"@value\\\"],[\\\"expense-url\\\",\\\"url\\\",[32,0,[\\\"url\\\"]]]],null],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"label\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"p\\\"],[14,0,\\\"label\\\"],[12],[2,\\\"Tags (comma-separated, optional):\\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"p\\\"],[12],[2,\\\"\\\\n \\\"],[8,\\\"input\\\",[],[[\\\"@name\\\",\\\"@type\\\",\\\"@value\\\"],[\\\"expense-tags\\\",\\\"text\\\",[32,0,[\\\"tags\\\"]]]],null],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n\\\\n \\\"],[10,\\\"p\\\"],[14,0,\\\"actions\\\"],[12],[2,\\\"\\\\n \\\"],[8,\\\"input\\\",[],[[\\\"@type\\\",\\\"@value\\\",\\\"@class\\\",\\\"@title\\\"],[\\\"submit\\\",\\\"Add\\\",\\\"green\\\",\\\"Add item to reimbursement\\\"]],null],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n\\\"],[13]],\\\"hasEval\\\":false,\\\"upvars\\\":[\\\"eq\\\",\\\"on\\\",\\\"-track-array\\\",\\\"each\\\",\\\"mut\\\",\\\"fn\\\"]}\",\n \"meta\": {\n \"moduleName\": \"kredits-web/components/add-expense-item/template.hbs\"\n }\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/components/add-reimbursement/template\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.HTMLBars.template({\n \"id\": \"GxxUddPT\",\n \"block\": \"{\\\"symbols\\\":[\\\"contributor\\\"],\\\"statements\\\":[[11,\\\"form\\\"],[24,\\\"novalidate\\\",\\\"\\\"],[4,[38,1],[\\\"submit\\\",[32,0,[\\\"submit\\\"]]],null],[12],[2,\\\"\\\\n \\\"],[10,\\\"label\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"p\\\"],[14,0,\\\"label\\\"],[12],[2,\\\"Contributor:\\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"p\\\"],[12],[2,\\\"\\\\n \\\"],[11,\\\"select\\\"],[24,\\\"required\\\",\\\"\\\"],[4,[38,1],[\\\"change\\\",[32,0,[\\\"updateContributor\\\"]]],null],[12],[2,\\\"\\\\n \\\"],[10,\\\"option\\\"],[14,2,\\\"\\\"],[14,\\\"selected\\\",\\\"\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,\\\"hidden\\\",\\\"\\\"],[12],[13],[2,\\\"\\\\n\\\"],[6,[37,4],[[30,[36,3],[[30,[36,3],[[32,0,[\\\"contributors\\\"]]],null]],null]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\" \\\"],[10,\\\"option\\\"],[15,2,[32,1,[\\\"id\\\"]]],[15,\\\"selected\\\",[30,[36,2],[[32,0,[\\\"contributorId\\\"]],[32,1,[\\\"id\\\"]]],null]],[12],[1,[32,1,[\\\"name\\\"]]],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[1]}]]],[2,\\\" \\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"fieldset\\\"],[14,0,\\\"horizontal thirds total-amounts\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"label\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"p\\\"],[14,0,\\\"label\\\"],[12],[2,\\\"Total amount (BTC):\\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"p\\\"],[12],[2,\\\"\\\\n \\\"],[8,\\\"input\\\",[],[[\\\"@type\\\",\\\"@placeholder\\\",\\\"@value\\\",\\\"@required\\\",\\\"@pattern\\\",\\\"@class\\\"],[\\\"text\\\",\\\"0.0015\\\",[32,0,[\\\"total\\\"]],true,\\\"([0-9]*[.])?[0-9]+\\\",[32,0,[\\\"totalInputClass\\\"]]]],null],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"label\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"p\\\"],[14,0,\\\"label\\\"],[12],[2,\\\"EUR total\\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"p\\\"],[12],[2,\\\"\\\\n \\\"],[8,\\\"input\\\",[],[[\\\"@type\\\",\\\"@name\\\",\\\"@value\\\",\\\"@disabled\\\"],[\\\"text\\\",\\\"total-eur\\\",[32,0,[\\\"totalEUR\\\"]],true]],null],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"label\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"p\\\"],[14,0,\\\"label\\\"],[12],[2,\\\"USD total\\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"p\\\"],[12],[2,\\\"\\\\n \\\"],[8,\\\"input\\\",[],[[\\\"@type\\\",\\\"@name\\\",\\\"@value\\\",\\\"@disabled\\\"],[\\\"text\\\",\\\"total-usd\\\",[32,0,[\\\"totalUSD\\\"]],true]],null],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n\\\\n \\\"],[10,\\\"h3\\\"],[12],[2,\\\"Expense items\\\"],[13],[2,\\\"\\\\n\\\"],[6,[37,5],[[32,0,[\\\"expenses\\\"]]],null,[[\\\"default\\\",\\\"else\\\"],[{\\\"statements\\\":[[2,\\\" \\\"],[8,\\\"expense-list\\\",[],[[\\\"@expenses\\\",\\\"@removeExpenseItem\\\",\\\"@deletable\\\"],[[32,0,[\\\"expenses\\\"]],[32,0,[\\\"removeExpenseItem\\\"]],true]],null],[2,\\\"\\\\n\\\\n \\\"],[10,\\\"p\\\"],[14,0,\\\"actions\\\"],[12],[2,\\\"\\\\n \\\"],[11,\\\"button\\\"],[24,0,\\\"green small\\\"],[24,4,\\\"button\\\"],[4,[38,1],[\\\"click\\\",[32,0,[\\\"showExpenseForm\\\"]]],null],[12],[2,\\\"+ Add another item\\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[2,\\\" \\\"],[10,\\\"p\\\"],[12],[2,\\\"No line items yet.\\\"],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]]],[2,\\\"\\\\n \\\"],[10,\\\"p\\\"],[14,0,\\\"actions\\\"],[12],[2,\\\"\\\\n\\\"],[6,[37,5],[[32,0,[\\\"inProgress\\\"]]],null,[[\\\"default\\\",\\\"else\\\"],[{\\\"statements\\\":[[2,\\\" \\\"],[8,\\\"input\\\",[],[[\\\"@type\\\",\\\"@value\\\",\\\"@disabled\\\",\\\"@title\\\"],[\\\"submit\\\",\\\"Submitting...\\\",true,\\\"Submit/propose this reimbursement\\\"]],null],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[2,\\\" \\\"],[8,\\\"input\\\",[],[[\\\"@type\\\",\\\"@value\\\",\\\"@disabled\\\",\\\"@title\\\"],[\\\"submit\\\",\\\"Submit\\\",[32,0,[\\\"submitButtonDisabled\\\"]],\\\"Submit/propose this reimbursement\\\"]],null],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]]],[2,\\\" \\\"],[13],[2,\\\"\\\\n\\\\n\\\"],[6,[37,5],[[32,0,[\\\"expenseFormVisible\\\"]]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\" \\\"],[10,\\\"h3\\\"],[14,1,\\\"new-expense-item\\\"],[12],[2,\\\"New expense item\\\"],[13],[2,\\\"\\\\n \\\"],[8,\\\"add-expense-item\\\",[],[[\\\"@addExpenseItem\\\"],[[30,[36,0],[[32,0,[\\\"addExpenseItem\\\"]]],null]]],null],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]]],[13],[2,\\\"\\\\n\\\"],[10,\\\"form\\\"],[14,1,\\\"add-expenses-from-file\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"h3\\\"],[12],[2,\\\"Add expense items from file\\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"input\\\"],[14,\\\"multiple\\\",\\\"false\\\"],[15,\\\"onchange\\\",[30,[36,0],[[32,0,[\\\"addExpensesFromFile\\\"]]],null]],[14,\\\"accept\\\",\\\"application/json\\\"],[14,4,\\\"file\\\"],[12],[13],[2,\\\"\\\\n\\\"],[13],[2,\\\"\\\\n\\\"]],\\\"hasEval\\\":false,\\\"upvars\\\":[\\\"fn\\\",\\\"on\\\",\\\"eq\\\",\\\"-track-array\\\",\\\"each\\\",\\\"if\\\"]}\",\n \"meta\": {\n \"moduleName\": \"kredits-web/components/add-reimbursement/template.hbs\"\n }\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/components/budget-balances/template\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.HTMLBars.template({\n \"id\": \"Ss15QE7U\",\n \"block\": \"{\\\"symbols\\\":[\\\"balance\\\"],\\\"statements\\\":[[10,\\\"table\\\"],[15,0,[31,[\\\"token-balances \\\",[30,[36,0],[[32,0,[\\\"loading\\\"]],\\\"loading\\\"],null]]]],[12],[2,\\\"\\\\n \\\"],[10,\\\"thead\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"tr\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"th\\\"],[12],[2,\\\"Token\\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"th\\\"],[12],[2,\\\"Amount\\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"th\\\"],[12],[2,\\\"Fiat value\\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"tbody\\\"],[12],[2,\\\"\\\\n\\\"],[6,[37,2],[[30,[36,1],[[30,[36,1],[[32,0,[\\\"balances\\\"]]],null]],null]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\" \\\"],[10,\\\"tr\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"th\\\"],[12],[1,[32,1,[\\\"token\\\",\\\"symbol\\\"]]],[13],[2,\\\"\\\\n \\\"],[10,\\\"td\\\"],[14,0,\\\"amount\\\"],[12],[1,[32,1,[\\\"confirmed_balance\\\"]]],[13],[2,\\\"\\\\n \\\"],[10,\\\"td\\\"],[14,0,\\\"fiat-amount\\\"],[12],[2,\\\"~\\\"],[1,[32,1,[\\\"balanceUSD\\\"]]],[2,\\\" USD\\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[1]}]]],[2,\\\" \\\"],[13],[2,\\\"\\\\n\\\"],[13]],\\\"hasEval\\\":false,\\\"upvars\\\":[\\\"if\\\",\\\"-track-array\\\",\\\"each\\\"]}\",\n \"meta\": {\n \"moduleName\": \"kredits-web/components/budget-balances/template.hbs\"\n }\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/components/chart-contributions-by-type/component\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n var categoryColors = {\n community: \"#fb6868\",\n design: \"#fbe468\",\n dev: \"#e068fb\",\n docs: \"#97fb68\",\n ops: \"#8f68fb\"\n };\n\n var _default = Ember.Component.extend({\n contributions: null,\n chartOptions: Object.freeze({\n legend: {\n display: false\n }\n }),\n chartData: Ember.computed('contributions', function () {\n var kredits = this.contributions.filterBy('vetoed', false).map(function (c) {\n return {\n kind: c.kind,\n amount: c.amount\n };\n }).reduce(function (kinds, c) {\n if (c.kind in kinds) {\n kinds[c.kind] = kinds[c.kind] + c.amount;\n } else {\n kinds[c.kind] = c.amount;\n }\n\n return kinds;\n }, {});\n return {\n datasets: [{\n data: [kredits['community'], kredits['design'], kredits['dev'], kredits['ops'], kredits['docs']],\n borderColor: [categoryColors.community, categoryColors.design, categoryColors.dev, categoryColors.ops, categoryColors.docs],\n borderWidth: 1\n }],\n labels: ['Community', 'Design', 'Development', 'Operations & Infrastructure', 'Documentation']\n };\n })\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/components/chart-contributions-by-type/template\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.HTMLBars.template({\n \"id\": \"wfd6i6On\",\n \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[10,\\\"div\\\"],[14,0,\\\"chart\\\"],[12],[2,\\\"\\\\n \\\"],[8,\\\"ember-chart\\\",[],[[\\\"@type\\\",\\\"@data\\\",\\\"@options\\\",\\\"@width\\\",\\\"@height\\\"],[\\\"doughnut\\\",[32,0,[\\\"chartData\\\"]],[32,0,[\\\"chartOptions\\\"]],\\\"200\\\",\\\"200\\\"]],null],[2,\\\"\\\\n\\\"],[13]],\\\"hasEval\\\":false,\\\"upvars\\\":[]}\",\n \"meta\": {\n \"moduleName\": \"kredits-web/components/chart-contributions-by-type/template.hbs\"\n }\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/components/confirmed-in/template\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.HTMLBars.template({\n \"id\": \"Q4nwoyU+\",\n \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[6,[37,0],[[32,0,[\\\"isConfirmed\\\"]]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\"Confirming in \\\"],[10,\\\"strong\\\"],[12],[1,[32,0,[\\\"confirmedInBlocks\\\"]]],[13],[2,\\\" blocks (~ \\\"],[1,[32,0,[\\\"confirmedInHumanTime\\\"]]],[2,\\\")\\\\n\\\"]],\\\"parameters\\\":[]}]]]],\\\"hasEval\\\":false,\\\"upvars\\\":[\\\"unless\\\"]}\",\n \"meta\": {\n \"moduleName\": \"kredits-web/components/confirmed-in/template.hbs\"\n }\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/components/contribution-list/component\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.Component.extend({\n router: Ember.inject.service(),\n tagName: 'div',\n classNames: ['contributions'],\n selectedContribution: null,\n showQuickFilter: false,\n hideSmallContributions: false,\n contributorId: null,\n contributionKind: null,\n kredits: Ember.inject.service(),\n contributorsSorting: Object.freeze(['name:asc']),\n contributors: Ember.computed.sort('kredits.contributors', 'contributorsSorting'),\n contributorsActive: Ember.computed('contributors.[]', 'contributions', function () {\n var activeIds = new Set(this.contributions.mapBy('contributorId'));\n return this.contributors.filter(function (c) {\n return activeIds.has(c.id);\n });\n }),\n contributionKinds: Ember.computed('contributions.[]', function () {\n return this.contributions.mapBy('kind').uniq();\n }),\n contributionsFiltered: Ember.computed('contributions.[]', 'hideSmallContributions', 'contributorId', 'contributionKind', function () {\n var _this = this;\n\n return this.contributions.filter(function (c) {\n var included = true;\n\n if (_this.hideSmallContributions && c.amount <= 500) {\n included = false;\n }\n\n if (Ember.isPresent(_this.contributorId) && c.contributorId !== parseInt(_this.contributorId)) {\n included = false;\n }\n\n if (Ember.isPresent(_this.contributionKind) && c.kind !== _this.contributionKind) {\n included = false;\n }\n\n return included;\n });\n }),\n actions: {\n veto: function veto(contributionId) {\n if (this.contractInteractionEnabled) {\n this.vetoContribution(contributionId);\n } else {\n window.alert('Only members can veto contributions. Please ask someone to set you up.');\n }\n },\n openContributionDetails: function openContributionDetails(contribution) {\n this.router.transitionTo('dashboard.contributions.show', contribution);\n }\n }\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/components/contribution-list/template\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.HTMLBars.template({\n \"id\": \"6QjAzyse\",\n \"block\": \"{\\\"symbols\\\":[\\\"contribution\\\",\\\"kind\\\",\\\"contributor\\\",\\\"@selectedContributionId\\\",\\\"@showQuickFilter\\\",\\\"@loading\\\"],\\\"statements\\\":[[6,[37,5],[[32,5]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\" \\\"],[10,\\\"div\\\"],[14,0,\\\"quick-filter\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"p\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"label\\\"],[14,0,\\\"filter-contributor\\\"],[12],[2,\\\"\\\\n Contributor:\\\\n \\\"],[10,\\\"select\\\"],[15,\\\"onchange\\\",[30,[36,0],[[32,0],[30,[36,8],[[32,0,[\\\"contributorId\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[12],[2,\\\"\\\\n \\\"],[10,\\\"option\\\"],[14,2,\\\"\\\"],[14,\\\"selected\\\",\\\"\\\"],[12],[2,\\\"all\\\"],[13],[2,\\\"\\\\n\\\"],[6,[37,10],[[30,[36,9],[[30,[36,9],[[32,0,[\\\"contributorsActive\\\"]]],null]],null]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\" \\\"],[10,\\\"option\\\"],[15,2,[32,3,[\\\"id\\\"]]],[15,\\\"selected\\\",[30,[36,4],[[32,0,[\\\"contributorId\\\"]],[32,3,[\\\"id\\\"]]],null]],[12],[1,[32,3,[\\\"name\\\"]]],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[3]}]]],[2,\\\" \\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n\\\\n \\\"],[10,\\\"label\\\"],[14,0,\\\"filter-contribution-kind\\\"],[12],[2,\\\"\\\\n Kind:\\\\n \\\"],[10,\\\"select\\\"],[15,\\\"onchange\\\",[30,[36,0],[[32,0],[30,[36,8],[[32,0,[\\\"contributionKind\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[12],[2,\\\"\\\\n \\\"],[10,\\\"option\\\"],[14,2,\\\"\\\"],[14,\\\"selected\\\",\\\"\\\"],[12],[2,\\\"all\\\"],[13],[2,\\\"\\\\n\\\"],[6,[37,10],[[30,[36,9],[[30,[36,9],[[32,0,[\\\"contributionKinds\\\"]]],null]],null]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\" \\\"],[10,\\\"option\\\"],[15,2,[32,2]],[15,\\\"selected\\\",[30,[36,4],[[32,0,[\\\"contributionKind\\\"]],[32,2]],null]],[12],[1,[30,[36,7],[[32,2]],null]],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[2]}]]],[2,\\\" \\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n\\\\n \\\"],[10,\\\"label\\\"],[14,0,\\\"filter-contribution-size\\\"],[12],[2,\\\"\\\\n \\\"],[8,\\\"input\\\",[],[[\\\"@type\\\",\\\"@checked\\\"],[\\\"checkbox\\\",[32,0,[\\\"hideSmallContributions\\\"]]]],null],[2,\\\"\\\\n Hide small contributions\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]]],[2,\\\"\\\\n\\\"],[10,\\\"ul\\\"],[15,0,[31,[\\\"item-list contribution-list \\\",[30,[36,5],[[32,6],\\\"loading\\\"],null]]]],[12],[2,\\\"\\\\n\\\"],[6,[37,10],[[30,[36,9],[[30,[36,9],[[32,0,[\\\"contributionsFiltered\\\"]]],null]],null]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\" \\\"],[11,\\\"li\\\"],[24,\\\"role\\\",\\\"button\\\"],[16,\\\"data-contribution-id\\\",[32,1,[\\\"id\\\"]]],[16,0,[31,[[30,[36,6],[[32,1]],null],[30,[36,5],[[30,[36,4],[[32,1,[\\\"id\\\"]],[32,4]],null],\\\" selected\\\"],null]]]],[4,[38,0],[[32,0],\\\"openContributionDetails\\\",[32,1]],null],[12],[2,\\\"\\\\n \\\"],[10,\\\"p\\\"],[14,0,\\\"meta\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"span\\\"],[14,0,\\\"recipient\\\"],[12],[8,\\\"user-avatar\\\",[],[[\\\"@contributor\\\"],[[32,1,[\\\"contributor\\\"]]]],null],[13],[2,\\\"\\\\n \\\"],[10,\\\"span\\\"],[15,0,[31,[\\\"category \\\",[32,1,[\\\"kind\\\"]]]]],[12],[2,\\\"(\\\"],[1,[32,1,[\\\"kind\\\"]]],[2,\\\")\\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"span\\\"],[14,0,\\\"title\\\"],[12],[1,[32,1,[\\\"description\\\"]]],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"p\\\"],[14,0,\\\"kredits-amount\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"span\\\"],[14,0,\\\"amount\\\"],[12],[1,[32,1,[\\\"amount\\\"]]],[13],[10,\\\"span\\\"],[14,0,\\\"symbol\\\"],[12],[2,\\\"₭S\\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n\\\"],[6,[37,3],[[32,1,[\\\"vetoed\\\"]]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[6,[37,3],[[30,[36,2],[[32,1]],null]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\" \\\"],[10,\\\"p\\\"],[14,0,\\\"voting\\\"],[12],[2,\\\"\\\\n \\\"],[1,[30,[36,1],null,[[\\\"type\\\",\\\"class\\\",\\\"value\\\",\\\"click\\\",\\\"disabled\\\"],[\\\"button\\\",\\\"button small danger\\\",\\\"veto\\\",[30,[36,0],[[32,0],\\\"veto\\\",[32,1,[\\\"id\\\"]]],null],[32,1,[\\\"hasPendingChanges\\\"]]]]]],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]]]],\\\"parameters\\\":[]}]]],[2,\\\" \\\"],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[1]}]]],[13]],\\\"hasEval\\\":false,\\\"upvars\\\":[\\\"action\\\",\\\"input\\\",\\\"is-confirmed-contribution\\\",\\\"unless\\\",\\\"eq\\\",\\\"if\\\",\\\"item-status\\\",\\\"capitalize-string\\\",\\\"mut\\\",\\\"-track-array\\\",\\\"each\\\"]}\",\n \"meta\": {\n \"moduleName\": \"kredits-web/components/contribution-list/template.hbs\"\n }\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/components/contributor-list/component\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.Component.extend({\n tagName: '',\n router: Ember.inject.service(),\n selectedContributorId: null,\n actions: {\n openContributorDetails: function openContributorDetails(contributor) {\n this.router.transitionTo('dashboard.contributors.show', contributor);\n }\n }\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/components/contributor-list/template\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.HTMLBars.template({\n \"id\": \"H19rOGuf\",\n \"block\": \"{\\\"symbols\\\":[\\\"c\\\",\\\"@selectedContributorId\\\",\\\"@showUnconfirmedKredits\\\",\\\"@loading\\\",\\\"@contributorList\\\"],\\\"statements\\\":[[10,\\\"table\\\"],[15,0,[31,[\\\"contributor-list \\\",[30,[36,2],[[32,4],\\\"loading\\\"],null]]]],[12],[2,\\\"\\\\n \\\"],[10,\\\"thead\\\"],[12],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"tbody\\\"],[12],[2,\\\"\\\\n\\\"],[6,[37,5],[[30,[36,4],[[30,[36,4],[[32,5]],null]],null]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\" \\\"],[10,\\\"tr\\\"],[14,\\\"role\\\",\\\"button\\\"],[15,\\\"onclick\\\",[30,[36,0],[[32,0],\\\"openContributorDetails\\\",[32,1,[\\\"contributor\\\"]]],null]],[15,0,[31,[[30,[36,2],[[30,[36,3],[[32,1,[\\\"contributor\\\"]]],null],\\\"current-user\\\"],null],\\\" \\\",[30,[36,2],[[30,[36,1],[[32,1,[\\\"contributor\\\",\\\"id\\\"]],[32,2]],null],\\\"selected\\\"],null]]]],[12],[2,\\\"\\\\n \\\"],[10,\\\"td\\\"],[14,0,\\\"person\\\"],[12],[2,\\\"\\\\n \\\"],[8,\\\"user-avatar\\\",[],[[\\\"@contributor\\\"],[[32,1,[\\\"contributor\\\"]]]],null],[2,\\\" \\\"],[1,[32,1,[\\\"contributor\\\",\\\"name\\\"]]],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"td\\\"],[14,0,\\\"kredits\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"span\\\"],[14,0,\\\"amount\\\"],[12],[2,\\\"\\\\n\\\"],[6,[37,2],[[32,3]],null,[[\\\"default\\\",\\\"else\\\"],[{\\\"statements\\\":[[2,\\\" \\\"],[1,[32,1,[\\\"amountTotal\\\"]]],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[2,\\\" \\\"],[1,[32,1,[\\\"amountConfirmed\\\"]]],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]]],[2,\\\" \\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"span\\\"],[14,0,\\\"symbol\\\"],[12],[2,\\\"₭S\\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[1]}]]],[2,\\\" \\\"],[13],[2,\\\"\\\\n\\\"],[13],[2,\\\"\\\\n\\\"]],\\\"hasEval\\\":false,\\\"upvars\\\":[\\\"action\\\",\\\"eq\\\",\\\"if\\\",\\\"is-current-user\\\",\\\"-track-array\\\",\\\"each\\\"]}\",\n \"meta\": {\n \"moduleName\": \"kredits-web/components/contributor-list/template.hbs\"\n }\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/components/ember-chart\", [\"exports\", \"ember-cli-chart/components/ember-chart\"], function (_exports, _emberChart) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n var _default = _emberChart.default;\n _exports.default = _default;\n});","define(\"kredits-web/components/ember-flatpickr\", [\"exports\", \"ember-flatpickr/components/ember-flatpickr\"], function (_exports, _emberFlatpickr) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function get() {\n return _emberFlatpickr.default;\n }\n });\n});","define(\"kredits-web/components/expense-list/template\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.HTMLBars.template({\n \"id\": \"Vj8N2eKw\",\n \"block\": \"{\\\"symbols\\\":[\\\"expense\\\",\\\"tag\\\",\\\"@removeExpenseItem\\\",\\\"@expenses\\\"],\\\"statements\\\":[[10,\\\"ul\\\"],[14,0,\\\"expense-list\\\"],[12],[2,\\\"\\\\n\\\"],[6,[37,5],[[30,[36,4],[[30,[36,4],[[32,4]],null]],null]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\" \\\"],[10,\\\"li\\\"],[14,0,\\\"expense-item\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"h4\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"span\\\"],[14,0,\\\"date\\\"],[12],[1,[30,[36,2],[[32,1,[\\\"date\\\"]]],null]],[2,\\\":\\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"span\\\"],[14,0,\\\"title\\\"],[12],[1,[32,1,[\\\"title\\\"]]],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"div\\\"],[14,0,\\\"amount\\\"],[12],[2,\\\"\\\\n \\\"],[1,[30,[36,3],[[32,1,[\\\"amount\\\"]],[32,1,[\\\"currency\\\"]]],null]],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"p\\\"],[14,0,\\\"description\\\"],[12],[2,\\\"\\\\n \\\"],[1,[32,1,[\\\"description\\\"]]],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"p\\\"],[14,0,\\\"tags\\\"],[12],[2,\\\"\\\\n\\\"],[6,[37,5],[[30,[36,4],[[30,[36,4],[[32,1,[\\\"tags\\\"]]],null]],null]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\" \\\"],[10,\\\"button\\\"],[14,0,\\\"small yellow\\\"],[14,\\\"role\\\",\\\"none\\\"],[14,4,\\\"button\\\"],[12],[2,\\\"\\\\n \\\"],[8,\\\"icon-tag\\\",[],[[],[]],null],[1,[32,2]],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[2]}]]],[2,\\\" \\\"],[13],[2,\\\"\\\\n\\\"],[6,[37,6],[[32,0,[\\\"showDeleteButton\\\"]]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\" \\\"],[10,\\\"div\\\"],[14,0,\\\"actions\\\"],[12],[2,\\\"\\\\n \\\"],[11,\\\"button\\\"],[24,0,\\\"danger small\\\"],[24,4,\\\"button\\\"],[4,[38,1],[\\\"click\\\",[30,[36,0],[[32,3],[32,1]],null]],null],[12],[2,\\\"delete\\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]]],[2,\\\" \\\"],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[1]}]]],[13],[2,\\\"\\\\n\\\"]],\\\"hasEval\\\":false,\\\"upvars\\\":[\\\"fn\\\",\\\"on\\\",\\\"fmt-date-localized\\\",\\\"fmt-fiat-currency\\\",\\\"-track-array\\\",\\\"each\\\",\\\"if\\\"]}\",\n \"meta\": {\n \"moduleName\": \"kredits-web/components/expense-list/template.hbs\"\n }\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/components/external-account-link/component\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.Component.extend({\n tagName: \"\",\n account: null,\n iconComponentName: Ember.computed('account.site', function () {\n if (this.account.site.match(/github|gitea|wiki|zoom/)) {\n return 'icon-account-' + this.account.site.replace(/\\./g, '-');\n } else {\n return 'icon-web-globe';\n }\n })\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/components/external-account-link/template\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.HTMLBars.template({\n \"id\": \"rwjEP1kx\",\n \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[10,\\\"a\\\"],[15,6,[32,0,[\\\"account\\\",\\\"url\\\"]]],[14,\\\"target\\\",\\\"_blank\\\"],[14,\\\"rel\\\",\\\"noopener noreferrer\\\"],[15,\\\"title\\\",[31,[[32,0,[\\\"account\\\",\\\"username\\\"]],\\\" on \\\",[32,0,[\\\"account\\\",\\\"site\\\"]]]]],[12],[2,\\\"\\\\n \\\"],[10,\\\"span\\\"],[14,0,\\\"site\\\"],[12],[1,[32,0,[\\\"account\\\",\\\"site\\\"]]],[13],[2,\\\"\\\\n \\\"],[1,[30,[36,0],[[32,0,[\\\"iconComponentName\\\"]]],null]],[2,\\\"\\\\n\\\"],[13]],\\\"hasEval\\\":false,\\\"upvars\\\":[\\\"component\\\"]}\",\n \"meta\": {\n \"moduleName\": \"kredits-web/components/external-account-link/template.hbs\"\n }\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/components/loading-spinner/component\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.Component.extend({\n classNames: ['loading-spinner']\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/components/loading-spinner/template\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.HTMLBars.template({\n \"id\": \"RDvW8Yf/\",\n \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[10,\\\"p\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"svg\\\"],[14,\\\"xmlns\\\",\\\"http://www.w3.org/2000/svg\\\",\\\"http://www.w3.org/2000/xmlns/\\\"],[14,\\\"xmlns:xlink\\\",\\\"http://www.w3.org/1999/xlink\\\",\\\"http://www.w3.org/2000/xmlns/\\\"],[14,\\\"version\\\",\\\"1.1\\\"],[14,\\\"x\\\",\\\"0px\\\"],[14,\\\"y\\\",\\\"0px\\\"],[14,\\\"viewBox\\\",\\\"0 0 132 100\\\"],[14,\\\"enable-background\\\",\\\"new 0 0 100 100\\\"],[14,\\\"xml:space\\\",\\\"preserve\\\",\\\"http://www.w3.org/XML/1998/namespace\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"path\\\"],[14,1,\\\"path-comet\\\"],[14,\\\"d\\\",\\\"M79.062,24.173L79.062,24.173l-0.021-0.011c-0.068-0.03-0.137-0.062-0.204-0.093L42.392,7.337\\\\n c0,0,3.065,14.104,4.458,18.019l0,0c0,0-41.754-12.481-46.85-13.67c1.67,6.52,30.607,62.492,30.607,62.492\\\\n c5.848,11.873,19.394,18.485,33.522,18.485c19.811,0,35.87-16.059,35.87-35.869C100,42.313,91.418,29.837,79.062,24.173z\\\"],[12],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n\\\"],[13],[2,\\\"\\\\n\\\"],[10,\\\"p\\\"],[12],[2,\\\"\\\\n Loading data...\\\\n\\\"],[13],[2,\\\"\\\\n\\\"]],\\\"hasEval\\\":false,\\\"upvars\\\":[]}\",\n \"meta\": {\n \"moduleName\": \"kredits-web/components/loading-spinner/template.hbs\"\n }\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/components/reimbursement-list/template\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.HTMLBars.template({\n \"id\": \"/SHVSc1V\",\n \"block\": \"{\\\"symbols\\\":[\\\"reimbursement\\\",\\\"@loading\\\"],\\\"statements\\\":[[10,\\\"ul\\\"],[15,0,[31,[\\\"item-list spaced reimbursement-list \\\",[30,[36,4],[[32,2],\\\"loading\\\"],null]]]],[12],[2,\\\"\\\\n\\\"],[6,[37,6],[[30,[36,5],[[30,[36,5],[[32,0,[\\\"itemsSorted\\\"]]],null]],null]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\" \\\"],[10,\\\"li\\\"],[15,\\\"data-reimbursement-id\\\",[32,1,[\\\"id\\\"]]],[15,0,[31,[[30,[36,2],[[32,1]],null]]]],[12],[2,\\\"\\\\n \\\"],[10,\\\"p\\\"],[14,0,\\\"meta\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"span\\\"],[14,0,\\\"recipient\\\"],[12],[2,\\\"\\\\n \\\"],[8,\\\"user-avatar\\\",[],[[\\\"@contributor\\\"],[[32,1,[\\\"contributor\\\"]]]],null],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"span\\\"],[14,0,\\\"title\\\"],[12],[2,\\\"\\\\n Expenses covered by \\\"],[1,[32,1,[\\\"contributor\\\",\\\"name\\\"]]],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"p\\\"],[14,0,\\\"token-amount\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"span\\\"],[14,0,\\\"amount\\\"],[12],[2,\\\"\\\\n \\\"],[1,[30,[36,3],[[32,1,[\\\"amount\\\"]]],null]],[13],[2,\\\" \\\"],[10,\\\"span\\\"],[14,0,\\\"symbol\\\"],[12],[2,\\\"BTC\\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n\\\\n \\\"],[8,\\\"expense-list\\\",[],[[\\\"@expenses\\\"],[[32,1,[\\\"expenses\\\"]]]],null],[2,\\\"\\\\n\\\\n \\\"],[10,\\\"div\\\"],[14,0,\\\"meta\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"p\\\"],[14,0,\\\"confirmation-eta\\\"],[12],[2,\\\"\\\\n \\\"],[8,\\\"confirmed-in\\\",[],[[\\\"@confirmedAtBlock\\\"],[[32,1,[\\\"confirmedAt\\\"]]]],null],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"p\\\"],[14,0,\\\"actions\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"a\\\"],[15,6,[31,[[32,0,[\\\"ipfsGatewayUrl\\\"]],\\\"/\\\",[32,1,[\\\"ipfsHash\\\"]]]]],[14,0,\\\"button small\\\"],[14,\\\"target\\\",\\\"_blank\\\"],[14,\\\"rel\\\",\\\"noopener noreferrer\\\"],[12],[2,\\\"\\\\n Inspect IPFS data\\\\n \\\"],[13],[2,\\\"\\\\n\\\"],[6,[37,4],[[32,0,[\\\"kredits\\\",\\\"currentUserIsCore\\\"]]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\" \\\"],[11,\\\"button\\\"],[16,\\\"disabled\\\",[32,1,[\\\"vetoed\\\"]]],[24,0,\\\"button small danger\\\"],[24,4,\\\"button\\\"],[4,[38,1],[\\\"click\\\",[30,[36,0],[[32,0,[\\\"veto\\\"]],[32,1,[\\\"id\\\"]]],null]],null],[12],[2,\\\"veto\\\"],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]]],[2,\\\" \\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[1]}]]],[13]],\\\"hasEval\\\":false,\\\"upvars\\\":[\\\"fn\\\",\\\"on\\\",\\\"item-status\\\",\\\"sats-to-btc\\\",\\\"if\\\",\\\"-track-array\\\",\\\"each\\\"]}\",\n \"meta\": {\n \"moduleName\": \"kredits-web/components/reimbursement-list/template.hbs\"\n }\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/components/topbar-account-panel/template\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.HTMLBars.template({\n \"id\": \"fiv0QGp6\",\n \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[10,\\\"section\\\"],[14,1,\\\"user-account\\\"],[12],[2,\\\"\\\\n\\\"],[6,[37,1],[[32,0,[\\\"setupInProgress\\\"]]],null,[[\\\"default\\\",\\\"else\\\"],[{\\\"statements\\\":[[2,\\\" Connecting account...\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[6,[37,1],[[30,[36,2],[[32,0,[\\\"walletConnected\\\"]],[32,0,[\\\"kredits\\\",\\\"currentUser\\\"]]],null]],null,[[\\\"default\\\",\\\"else\\\"],[{\\\"statements\\\":[[2,\\\" \\\"],[1,[32,0,[\\\"kredits\\\",\\\"currentUser\\\",\\\"name\\\"]]],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[2,\\\" \\\"],[10,\\\"span\\\"],[14,0,\\\"anonymous\\\"],[12],[2,\\\"Anonymous\\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"button\\\"],[15,\\\"onclick\\\",[30,[36,0],[[32,0],\\\"signup\\\"],null]],[14,1,\\\"signup\\\"],[14,0,\\\"small\\\"],[14,4,\\\"button\\\"],[12],[2,\\\"Sign up\\\"],[13],[2,\\\"\\\\n\\\"],[6,[37,1],[[32,0,[\\\"walletDisconnected\\\"]]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\" \\\"],[10,\\\"button\\\"],[15,\\\"onclick\\\",[30,[36,0],[[32,0],\\\"connectWallet\\\"],null]],[14,1,\\\"connect\\\"],[14,0,\\\"small green\\\"],[14,4,\\\"button\\\"],[12],[2,\\\"Connect wallet\\\"],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]]]],\\\"parameters\\\":[]}]]]],\\\"parameters\\\":[]}]]],[13]],\\\"hasEval\\\":false,\\\"upvars\\\":[\\\"action\\\",\\\"if\\\",\\\"and\\\"]}\",\n \"meta\": {\n \"moduleName\": \"kredits-web/components/topbar-account-panel/template.hbs\"\n }\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/components/user-avatar/component\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n var SIZES = {\n 'small': '128',\n // pixels\n 'medium': '256',\n 'large': '512'\n };\n\n var _default = Ember.Component.extend({\n contributor: null,\n tagName: 'img',\n classNames: ['avatar'],\n classNameBindings: ['size'],\n attributeBindings: ['src', 'title'],\n size: 'small',\n src: Ember.computed.alias('avatarURL'),\n title: Ember.computed.alias('contributor.name'),\n avatarURL: Ember.computed('contributor.github_uid', 'size', function () {\n var github_uid = this.contributor.github_uid;\n\n if (github_uid) {\n return \"https://avatars2.githubusercontent.com/u/\".concat(github_uid, \"?v=3&s=\").concat(SIZES[this.size]);\n } else {\n // TODO use custom avatar\n return '';\n }\n })\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/components/user-avatar/template\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.HTMLBars.template({\n \"id\": \"PL5L75/g\",\n \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[],\\\"hasEval\\\":false,\\\"upvars\\\":[]}\",\n \"meta\": {\n \"moduleName\": \"kredits-web/components/user-avatar/template.hbs\"\n }\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/controllers/application\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.Controller.extend({\n kredits: Ember.inject.service()\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/controllers/contributions/new\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.Controller.extend({\n kredits: Ember.inject.service(),\n queryParams: ['contributorId', 'kind', 'amount'],\n contributors: Ember.computed.alias('kredits.contributors'),\n minedContributors: Ember.computed.filterBy('contributors', 'id'),\n contributorsSorting: Object.freeze(['name:asc']),\n sortedContributors: Ember.computed.sort('minedContributors', 'contributorsSorting'),\n actions: {\n save: function save(contribution) {\n var _this = this;\n\n var contributor = this.contributors.findBy('id', contribution.contributorId);\n contribution.contributorIpfsHash = contributor.ipfsHash;\n return this.kredits.addContribution(contribution).then(function (contribution) {\n _this.transitionToRoute('index');\n\n return contribution;\n });\n }\n }\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/controllers/contributions/resubmit\", [\"exports\", \"kredits-web/controllers/contributions/new\"], function (_exports, _new) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = _new.default.extend({\n attributes: null\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/controllers/contributors/edit\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.Controller.extend({\n kredits: Ember.inject.service(),\n actions: {\n save: function save(attributes) {\n return this.kredits.updateContributor(this.model.id, attributes);\n }\n }\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/controllers/contributors/new\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.Controller.extend({\n kredits: Ember.inject.service(),\n actions: {\n save: function save(contributor) {\n return this.kredits.addContributor(contributor);\n }\n }\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/controllers/dashboard\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.Controller.extend({\n kredits: Ember.inject.service(),\n showDetailsPane: false,\n selectedContributorId: null,\n selectedContributionId: null,\n currentBlock: Ember.computed.alias('kredits.currentBlock'),\n contributions: Ember.computed.alias('kredits.contributions'),\n contributionsConfirmed: Ember.computed.alias('kredits.contributionsConfirmed'),\n contributionsUnconfirmed: Ember.computed.alias('kredits.contributionsUnconfirmed'),\n contributionsSorting: Object.freeze(['date:desc', 'time:desc', 'id:desc']),\n contributionsUnconfirmedSorted: Ember.computed.sort('contributionsUnconfirmed', 'contributionsSorting'),\n contributionsConfirmedSorted: Ember.computed.sort('contributionsConfirmed', 'contributionsSorting'),\n kreditsByContributor: Ember.computed.alias('kredits.kreditsByContributor'),\n kreditsToplistSorting: Ember.computed('showUnconfirmedKredits', function () {\n return this.showUnconfirmedKredits ? ['amountTotal:desc'] : ['amountConfirmed:desc'];\n }),\n kreditsToplist: Ember.computed.sort('kreditsByContributor', 'kreditsToplistSorting'),\n showUnconfirmedKredits: true,\n hideUnconfirmedKredits: Ember.computed.not('showUnconfirmedKredits'),\n showQuickFilterUnconfirmed: false,\n showQuickFilterConfirmed: false,\n showFullContributionSync: Ember.computed.gt('kredits.missingHistoricContributionsCount', 0),\n showIntroText: Ember.computed('kredits.{hasAccounts,currentUser}', function () {\n return !this.kredits.hasAccounts || !this.kredits.currentUser;\n }),\n actions: {\n vetoContribution: function vetoContribution(contributionId) {\n this.kredits.veto(contributionId).then(function (transaction) {\n console.debug('[controllers:index] Veto submitted to chain: ' + transaction.hash);\n });\n },\n toggleQuickFilterUnconfirmed: function toggleQuickFilterUnconfirmed() {\n this.toggleProperty('showQuickFilterUnconfirmed');\n },\n toggleQuickFilterConfirmed: function toggleQuickFilterConfirmed() {\n this.toggleProperty('showQuickFilterConfirmed');\n }\n }\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/controllers/dashboard/contributions/show\", [\"exports\", \"kredits-web/config/environment\"], function (_exports, _environment) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.Controller.extend({\n ipfsGatewayUrl: Ember.computed(function () {\n return _environment.default.ipfs.gatewayUrl;\n })\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/controllers/dashboard/contributors/show\", [\"exports\", \"kredits-web/config/environment\"], function (_exports, _environment) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.Controller.extend({\n roleName: Ember.computed('model.isCore', 'totalKreditsEarned', function () {\n if (this.model.isCore) return 'Core Contributor';\n if (this.model.totalKreditsEarned <= 5000) return 'Newcomer';\n return 'Contributor';\n }),\n ipfsGatewayUrl: Ember.computed(function () {\n return _environment.default.ipfs.gatewayUrl;\n })\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/helpers/and\", [\"exports\", \"ember-truth-helpers/helpers/and\"], function (_exports, _and) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"and\", {\n enumerable: true,\n get: function get() {\n return _and.and;\n }\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function get() {\n return _and.default;\n }\n });\n});","define(\"kredits-web/helpers/app-version\", [\"exports\", \"kredits-web/config/environment\", \"ember-cli-app-version/utils/regexp\"], function (_exports, _environment, _regexp) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.appVersion = appVersion;\n _exports.default = void 0;\n\n function appVersion(_) {\n var hash = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var version = _environment.default.APP.version; // e.g. 1.0.0-alpha.1+4jds75hf\n // Allow use of 'hideSha' and 'hideVersion' For backwards compatibility\n\n var versionOnly = hash.versionOnly || hash.hideSha;\n var shaOnly = hash.shaOnly || hash.hideVersion;\n var match = null;\n\n if (versionOnly) {\n if (hash.showExtended) {\n match = version.match(_regexp.versionExtendedRegExp); // 1.0.0-alpha.1\n } // Fallback to just version\n\n\n if (!match) {\n match = version.match(_regexp.versionRegExp); // 1.0.0\n }\n }\n\n if (shaOnly) {\n match = version.match(_regexp.shaRegExp); // 4jds75hf\n }\n\n return match ? match[0] : version;\n }\n\n var _default = Ember.Helper.helper(appVersion);\n\n _exports.default = _default;\n});","define(\"kredits-web/helpers/await\", [\"exports\", \"ember-promise-helpers/helpers/await\"], function (_exports, _await) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function get() {\n return _await.default;\n }\n });\n});","define(\"kredits-web/helpers/cancel-all\", [\"exports\", \"ember-concurrency/helpers/cancel-all\"], function (_exports, _cancelAll) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function get() {\n return _cancelAll.default;\n }\n });\n});","define(\"kredits-web/helpers/capitalize-string\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\n function _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\n function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\n function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\n function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\n function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\n var _default = Ember.Helper.extend({\n compute: function compute(_ref) {\n var _ref2 = _slicedToArray(_ref, 1),\n string = _ref2[0];\n\n return string.charAt(0).toUpperCase() + string.slice(1);\n }\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/helpers/eq\", [\"exports\", \"ember-truth-helpers/helpers/equal\"], function (_exports, _equal) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function get() {\n return _equal.default;\n }\n });\n Object.defineProperty(_exports, \"equal\", {\n enumerable: true,\n get: function get() {\n return _equal.equal;\n }\n });\n});","define(\"kredits-web/helpers/fmt-crypto-currency\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.Helper.helper(function fmtCryptoCurrency(params\n /*, hash*/\n ) {\n var fmtAmount;\n var amount = params[0];\n var code = params[1];\n\n switch (code) {\n case 'RBTC':\n fmtAmount = amount / 1000000000000000000;\n break;\n\n case 'BTC':\n fmtAmount = amount / 100000000;\n break;\n }\n\n return fmtAmount;\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/helpers/fmt-date-localized\", [\"exports\", \"kredits-web/utils/get-locale\"], function (_exports, _getLocale) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.Helper.helper(function (dateStr) {\n var date = new Date(dateStr);\n var locale = (0, _getLocale.default)();\n return new Intl.DateTimeFormat(locale).format(date);\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/helpers/fmt-fiat-currency\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.Helper.helper(function fmtFiatCurrency(params) {\n var lang = navigator.language || navigator.userLanguage;\n var formatter = new Intl.NumberFormat(lang, {\n style: 'currency',\n currency: params[1] || 'EUR',\n currencyDisplay: 'code'\n });\n return formatter.format(params[0]);\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/helpers/gt\", [\"exports\", \"ember-truth-helpers/helpers/gt\"], function (_exports, _gt) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function get() {\n return _gt.default;\n }\n });\n Object.defineProperty(_exports, \"gt\", {\n enumerable: true,\n get: function get() {\n return _gt.gt;\n }\n });\n});","define(\"kredits-web/helpers/gte\", [\"exports\", \"ember-truth-helpers/helpers/gte\"], function (_exports, _gte) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function get() {\n return _gte.default;\n }\n });\n Object.defineProperty(_exports, \"gte\", {\n enumerable: true,\n get: function get() {\n return _gte.gte;\n }\n });\n});","define(\"kredits-web/helpers/is-after\", [\"exports\", \"ember-moment/helpers/is-after\"], function (_exports, _isAfter) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function get() {\n return _isAfter.default;\n }\n });\n});","define(\"kredits-web/helpers/is-array\", [\"exports\", \"ember-truth-helpers/helpers/is-array\"], function (_exports, _isArray) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function get() {\n return _isArray.default;\n }\n });\n Object.defineProperty(_exports, \"isArray\", {\n enumerable: true,\n get: function get() {\n return _isArray.isArray;\n }\n });\n});","define(\"kredits-web/helpers/is-before\", [\"exports\", \"ember-moment/helpers/is-before\"], function (_exports, _isBefore) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function get() {\n return _isBefore.default;\n }\n });\n});","define(\"kredits-web/helpers/is-between\", [\"exports\", \"ember-moment/helpers/is-between\"], function (_exports, _isBetween) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function get() {\n return _isBetween.default;\n }\n });\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\ndefine(\"kredits-web/router\", [\"exports\", \"kredits-web/config/environment\"], function (_exports, _environment) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\n function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\n function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n function _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\n function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\n function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\n function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\n function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\n function _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\n function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n var Router = /*#__PURE__*/function (_Ember$Router) {\n _inherits(Router, _Ember$Router);\n\n var _super = _createSuper(Router);\n\n function Router() {\n var _this;\n\n _classCallCheck(this, Router);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _defineProperty(_assertThisInitialized(_this), \"location\", _environment.default.locationType);\n\n _defineProperty(_assertThisInitialized(_this), \"rootURL\", _environment.default.rootURL);\n\n return _this;\n }\n\n return _createClass(Router);\n }(Ember.Router);\n\n _exports.default = Router;\n Router.map(function () {\n this.route('dashboard', function () {\n this.route('contributors', function () {\n this.route('show', {\n path: ':id'\n });\n });\n this.route('contributions', function () {\n this.route('show', {\n path: ':id'\n });\n });\n });\n this.route('contributions', function () {\n this.route('new', {\n queryParams: ['contributorId', 'kind', 'amount']\n });\n this.route('resubmit', {\n path: ':id/resubmit'\n });\n });\n this.route('contributors', function () {\n this.route('new');\n this.route('edit', {\n path: ':id/edit'\n });\n });\n this.route('signup', function () {\n this.route('github');\n this.route('account');\n this.route('complete');\n });\n this.route('budget', function () {\n this.route('expenses');\n this.route('reimbursements', function () {});\n });\n this.route('reimbursements', function () {\n this.route('new');\n });\n });\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\ndefine(\"kredits-web/routes/application\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _dec, _dec2, _class, _descriptor, _descriptor2;\n\n function _initializerDefineProperty(target, property, descriptor, context) { if (!descriptor) return; Object.defineProperty(target, property, { enumerable: descriptor.enumerable, configurable: descriptor.configurable, writable: descriptor.writable, value: descriptor.initializer ? descriptor.initializer.call(context) : void 0 }); }\n\n function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\n function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\n function _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\n function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\n function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\n function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\n function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\n function _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\n function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n function _applyDecoratedDescriptor(target, property, decorators, descriptor, context) { var desc = {}; Object.keys(descriptor).forEach(function (key) { desc[key] = descriptor[key]; }); desc.enumerable = !!desc.enumerable; desc.configurable = !!desc.configurable; if ('value' in desc || desc.initializer) { desc.writable = true; } desc = decorators.slice().reverse().reduce(function (desc, decorator) { return decorator(target, property, desc) || desc; }, desc); if (context && desc.initializer !== void 0) { desc.value = desc.initializer ? desc.initializer.call(context) : void 0; desc.initializer = undefined; } if (desc.initializer === void 0) { Object.defineProperty(target, property, desc); desc = null; } return desc; }\n\n function _initializerWarningHelper(descriptor, context) { throw new Error('Decorating class property failed. Please ensure that ' + 'proposal-class-properties is enabled and runs after the decorators transform.'); }\n\n var ApplicationRoute = (_dec = Ember.inject.service, _dec2 = Ember.inject.service, (_class = /*#__PURE__*/function (_Ember$Route) {\n _inherits(ApplicationRoute, _Ember$Route);\n\n var _super = _createSuper(ApplicationRoute);\n\n function ApplicationRoute() {\n var _this;\n\n _classCallCheck(this, ApplicationRoute);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _initializerDefineProperty(_assertThisInitialized(_this), \"kredits\", _descriptor, _assertThisInitialized(_this));\n\n _initializerDefineProperty(_assertThisInitialized(_this), \"communityFunds\", _descriptor2, _assertThisInitialized(_this));\n\n return _this;\n }\n\n _createClass(ApplicationRoute, [{\n key: \"beforeModel\",\n value: function\n /* transition */\n beforeModel() {\n var _this2 = this;\n\n return this.kredits.setup().then(function () {\n _this2.kredits.kredits.preflightChecks().catch(function (error) {\n console.error('Kredits preflight check failed!');\n console.error(error);\n });\n }).catch(function (error) {\n console.log('Error initializing Kredits', error);\n });\n }\n }, {\n key: \"model\",\n value: function model() {\n var _this3 = this;\n\n return this.kredits.loadInitialData().then(function () {\n _this3.kredits.addContractEventHandlers();\n });\n }\n }, {\n key: \"afterModel\",\n value: function afterModel() {\n if (this.kredits.contributorsNeedSync) {\n Ember.run.schedule('afterRender', this.kredits.syncContributors, this.kredits.syncContributors.perform);\n }\n\n Ember.run.schedule('afterRender', this.communityFunds.fetchBalances, this.communityFunds.fetchBalances.perform);\n }\n }]);\n\n return ApplicationRoute;\n }(Ember.Route), (_descriptor = _applyDecoratedDescriptor(_class.prototype, \"kredits\", [_dec], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n }), _descriptor2 = _applyDecoratedDescriptor(_class.prototype, \"communityFunds\", [_dec2], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n })), _class));\n _exports.default = ApplicationRoute;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\ndefine(\"kredits-web/routes/budget\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _dec, _dec2, _class, _descriptor, _descriptor2;\n\n function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\n function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\n function _initializerDefineProperty(target, property, descriptor, context) { if (!descriptor) return; Object.defineProperty(target, property, { enumerable: descriptor.enumerable, configurable: descriptor.configurable, writable: descriptor.writable, value: descriptor.initializer ? descriptor.initializer.call(context) : void 0 }); }\n\n function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\n function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\n function _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\n function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\n function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\n function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\n function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\n function _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\n function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n function _applyDecoratedDescriptor(target, property, decorators, descriptor, context) { var desc = {}; Object.keys(descriptor).forEach(function (key) { desc[key] = descriptor[key]; }); desc.enumerable = !!desc.enumerable; desc.configurable = !!desc.configurable; if ('value' in desc || desc.initializer) { desc.writable = true; } desc = decorators.slice().reverse().reduce(function (desc, decorator) { return decorator(target, property, desc) || desc; }, desc); if (context && desc.initializer !== void 0) { desc.value = desc.initializer ? desc.initializer.call(context) : void 0; desc.initializer = undefined; } if (desc.initializer === void 0) { Object.defineProperty(target, property, desc); desc = null; } return desc; }\n\n function _initializerWarningHelper(descriptor, context) { throw new Error('Decorating class property failed. Please ensure that ' + 'proposal-class-properties is enabled and runs after the decorators transform.'); }\n\n var BudgetRoute = (_dec = Ember.inject.service, _dec2 = Ember.inject.service, (_class = /*#__PURE__*/function (_Ember$Route) {\n _inherits(BudgetRoute, _Ember$Route);\n\n var _super = _createSuper(BudgetRoute);\n\n function BudgetRoute() {\n var _this;\n\n _classCallCheck(this, BudgetRoute);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _initializerDefineProperty(_assertThisInitialized(_this), \"browserCache\", _descriptor, _assertThisInitialized(_this));\n\n _initializerDefineProperty(_assertThisInitialized(_this), \"kredits\", _descriptor2, _assertThisInitialized(_this));\n\n return _this;\n }\n\n _createClass(BudgetRoute, [{\n key: \"model\",\n value: function () {\n var _model = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {\n var numCachedReimbursements;\n return regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n if (!(Ember.isPresent(this.kredits.reimbursements) && Ember.isEmpty(this.kredits.reimbursementsPending))) {\n _context.next = 5;\n break;\n }\n\n console.debug('[route:budget] Reimbursements loaded before, no need to sync or load');\n return _context.abrupt(\"return\");\n\n case 5:\n _context.next = 7;\n return this.browserCache.reimbursements.length();\n\n case 7:\n numCachedReimbursements = _context.sent;\n\n if (!(numCachedReimbursements > 0)) {\n _context.next = 14;\n break;\n }\n\n _context.next = 11;\n return this.kredits.loadObjectsFromCache('Reimbursement');\n\n case 11:\n this.kredits.set('reimbursementsNeedSync', true);\n _context.next = 16;\n break;\n\n case 14:\n _context.next = 16;\n return this.kredits.fetchObjects('Reimbursement', {\n page: {\n size: 10\n }\n });\n\n case 16:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n function model() {\n return _model.apply(this, arguments);\n }\n\n return model;\n }()\n }, {\n key: \"afterModel\",\n value: function afterModel() {\n if (this.kredits.reimbursementsNeedSync) {\n Ember.run.schedule('afterRender', this.kredits.syncReimbursements, this.kredits.syncReimbursements.perform);\n }\n\n Ember.run.schedule('afterRender', this.kredits.fetchMissingReimbursements, this.kredits.fetchMissingReimbursements.perform);\n }\n }]);\n\n return BudgetRoute;\n }(Ember.Route), (_descriptor = _applyDecoratedDescriptor(_class.prototype, \"browserCache\", [_dec], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n }), _descriptor2 = _applyDecoratedDescriptor(_class.prototype, \"kredits\", [_dec2], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n })), _class));\n _exports.default = BudgetRoute;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\ndefine(\"kredits-web/routes/budget/expenses\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\n function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\n function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n function _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\n function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\n function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\n function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\n function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\n function _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\n function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n var BudgetExpensesRoute = /*#__PURE__*/function (_Ember$Route) {\n _inherits(BudgetExpensesRoute, _Ember$Route);\n\n var _super = _createSuper(BudgetExpensesRoute);\n\n function BudgetExpensesRoute() {\n _classCallCheck(this, BudgetExpensesRoute);\n\n return _super.apply(this, arguments);\n }\n\n return _createClass(BudgetExpensesRoute);\n }(Ember.Route);\n\n _exports.default = BudgetExpensesRoute;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\ndefine(\"kredits-web/routes/contributions/new\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\n function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\n function _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\n function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\n function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\n function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\n function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\n function _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\n function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n var ContributionsNewRoute = /*#__PURE__*/function (_Ember$Route) {\n _inherits(ContributionsNewRoute, _Ember$Route);\n\n var _super = _createSuper(ContributionsNewRoute);\n\n function ContributionsNewRoute() {\n _classCallCheck(this, ContributionsNewRoute);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(ContributionsNewRoute, [{\n key: \"model\",\n value: function model(params) {\n return {\n params: params\n };\n }\n }]);\n\n return ContributionsNewRoute;\n }(Ember.Route);\n\n _exports.default = ContributionsNewRoute;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\ndefine(\"kredits-web/routes/dashboard\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _dec, _class, _descriptor;\n\n function _initializerDefineProperty(target, property, descriptor, context) { if (!descriptor) return; Object.defineProperty(target, property, { enumerable: descriptor.enumerable, configurable: descriptor.configurable, writable: descriptor.writable, value: descriptor.initializer ? descriptor.initializer.call(context) : void 0 }); }\n\n function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\n function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\n function _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\n function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\n function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\n function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\n function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\n function _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\n function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n function _applyDecoratedDescriptor(target, property, decorators, descriptor, context) { var desc = {}; Object.keys(descriptor).forEach(function (key) { desc[key] = descriptor[key]; }); desc.enumerable = !!desc.enumerable; desc.configurable = !!desc.configurable; if ('value' in desc || desc.initializer) { desc.writable = true; } desc = decorators.slice().reverse().reduce(function (desc, decorator) { return decorator(target, property, desc) || desc; }, desc); if (context && desc.initializer !== void 0) { desc.value = desc.initializer ? desc.initializer.call(context) : void 0; desc.initializer = undefined; } if (desc.initializer === void 0) { Object.defineProperty(target, property, desc); desc = null; } return desc; }\n\n function _initializerWarningHelper(descriptor, context) { throw new Error('Decorating class property failed. Please ensure that ' + 'proposal-class-properties is enabled and runs after the decorators transform.'); }\n\n var DashboardRoute = (_dec = Ember.inject.service, (_class = /*#__PURE__*/function (_Ember$Route) {\n _inherits(DashboardRoute, _Ember$Route);\n\n var _super = _createSuper(DashboardRoute);\n\n function DashboardRoute() {\n var _this;\n\n _classCallCheck(this, DashboardRoute);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _initializerDefineProperty(_assertThisInitialized(_this), \"kredits\", _descriptor, _assertThisInitialized(_this));\n\n return _this;\n }\n\n _createClass(DashboardRoute, [{\n key: \"afterModel\",\n value: function afterModel() {\n if (this.kredits.contributionsNeedSync) {\n Ember.run.schedule('afterRender', this.kredits.syncContributions, this.kredits.syncContributions.perform);\n } // TODO fetch automatically under a certain threshold\n // The browser might delete cached data and we don't need manual re-syncs\n // depending on how little is missing\n // schedule('afterRender', this.kredits.fetchMissingContributions,\n // this.kredits.fetchMissingContributions.perform);\n\n }\n }]);\n\n return DashboardRoute;\n }(Ember.Route), (_descriptor = _applyDecoratedDescriptor(_class.prototype, \"kredits\", [_dec], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n })), _class));\n _exports.default = DashboardRoute;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\ndefine(\"kredits-web/routes/reimbursements/new\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\n function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\n function _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\n function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\n function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\n function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\n function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\n function _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\n function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n var ReimbursementsNewRoute = /*#__PURE__*/function (_Ember$Route) {\n _inherits(ReimbursementsNewRoute, _Ember$Route);\n\n var _super = _createSuper(ReimbursementsNewRoute);\n\n function ReimbursementsNewRoute() {\n _classCallCheck(this, ReimbursementsNewRoute);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(ReimbursementsNewRoute, [{\n key: \"model\",\n value: function model(params) {\n return {\n params: params\n };\n }\n }]);\n\n return ReimbursementsNewRoute;\n }(Ember.Route);\n\n _exports.default = ReimbursementsNewRoute;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\ndefine(\"kredits-web/routes/signup/account\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _dec, _class, _descriptor;\n\n function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\n function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\n function _initializerDefineProperty(target, property, descriptor, context) { if (!descriptor) return; Object.defineProperty(target, property, { enumerable: descriptor.enumerable, configurable: descriptor.configurable, writable: descriptor.writable, value: descriptor.initializer ? descriptor.initializer.call(context) : void 0 }); }\n\n function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\n function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\n function _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\n function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\n function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\n function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\n function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\n function _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\n function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n function _applyDecoratedDescriptor(target, property, decorators, descriptor, context) { var desc = {}; Object.keys(descriptor).forEach(function (key) { desc[key] = descriptor[key]; }); desc.enumerable = !!desc.enumerable; desc.configurable = !!desc.configurable; if ('value' in desc || desc.initializer) { desc.writable = true; } desc = decorators.slice().reverse().reduce(function (desc, decorator) { return decorator(target, property, desc) || desc; }, desc); if (context && desc.initializer !== void 0) { desc.value = desc.initializer ? desc.initializer.call(context) : void 0; desc.initializer = undefined; } if (desc.initializer === void 0) { Object.defineProperty(target, property, desc); desc = null; } return desc; }\n\n function _initializerWarningHelper(descriptor, context) { throw new Error('Decorating class property failed. Please ensure that ' + 'proposal-class-properties is enabled and runs after the decorators transform.'); }\n\n var SignupAccountRoute = (_dec = Ember.inject.service, (_class = /*#__PURE__*/function (_Ember$Route) {\n _inherits(SignupAccountRoute, _Ember$Route);\n\n var _super = _createSuper(SignupAccountRoute);\n\n function SignupAccountRoute() {\n var _this;\n\n _classCallCheck(this, SignupAccountRoute);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _initializerDefineProperty(_assertThisInitialized(_this), \"kredits\", _descriptor, _assertThisInitialized(_this));\n\n return _this;\n }\n\n _createClass(SignupAccountRoute, [{\n key: \"setupController\",\n value: function () {\n var _setupController = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee(controller) {\n return regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n if (window.ethereum) {\n _context.next = 2;\n break;\n }\n\n return _context.abrupt(\"return\");\n\n case 2:\n if (!this.kredits.hasAccounts) {\n _context.next = 6;\n break;\n }\n\n controller.accountAddress = this.kredits.currentUserAccounts.firstObject;\n _context.next = 7;\n break;\n\n case 6:\n return _context.abrupt(\"return\", this.kredits.connectWallet());\n\n case 7:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n function setupController(_x) {\n return _setupController.apply(this, arguments);\n }\n\n return setupController;\n }()\n }, {\n key: \"redirect\",\n value: function redirect() {\n if (Ember.isEmpty(this.kredits.githubAccessToken)) {\n this.transitionTo('signup.index');\n }\n }\n }]);\n\n return SignupAccountRoute;\n }(Ember.Route), (_descriptor = _applyDecoratedDescriptor(_class.prototype, \"kredits\", [_dec], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n })), _class));\n _exports.default = SignupAccountRoute;\n});","define(\"kredits-web/helpers/is-confirmed-contribution\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\n function _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\n function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\n function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\n function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\n function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\n var _default = Ember.Helper.extend({\n kredits: Ember.inject.service(),\n currentBlock: Ember.computed.alias('kredits.currentBlock'),\n compute: function compute(_ref) {\n var _ref2 = _slicedToArray(_ref, 1),\n contribution = _ref2[0];\n\n return !contribution.vetoed && contribution.confirmedAt <= this.currentBlock;\n }\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/helpers/is-current-user\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\n function _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\n function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\n function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\n function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\n function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\n var _default = Ember.Helper.extend({\n kredits: Ember.inject.service(),\n currentUser: Ember.computed.alias('kredits.currentUser'),\n compute: function compute(_ref) {\n var _ref2 = _slicedToArray(_ref, 1),\n contributor = _ref2[0];\n\n return Ember.isPresent(contributor) && Ember.isPresent(this.currentUser) && contributor.account === this.currentUser.account;\n }\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/helpers/is-empty\", [\"exports\", \"ember-truth-helpers/helpers/is-empty\"], function (_exports, _isEmpty) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function get() {\n return _isEmpty.default;\n }\n });\n});","define(\"kredits-web/helpers/is-equal\", [\"exports\", \"ember-truth-helpers/helpers/is-equal\"], function (_exports, _isEqual) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function get() {\n return _isEqual.default;\n }\n });\n Object.defineProperty(_exports, \"isEqual\", {\n enumerable: true,\n get: function get() {\n return _isEqual.isEqual;\n }\n });\n});","define(\"kredits-web/helpers/is-fulfilled\", [\"exports\", \"ember-promise-helpers/helpers/is-fulfilled\"], function (_exports, _isFulfilled) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function get() {\n return _isFulfilled.default;\n }\n });\n});","define(\"kredits-web/helpers/is-pending\", [\"exports\", \"ember-promise-helpers/helpers/is-pending\"], function (_exports, _isPending) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function get() {\n return _isPending.default;\n }\n });\n});","define(\"kredits-web/helpers/is-rejected\", [\"exports\", \"ember-promise-helpers/helpers/is-rejected\"], function (_exports, _isRejected) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function get() {\n return _isRejected.default;\n }\n });\n});","define(\"kredits-web/helpers/is-same-or-after\", [\"exports\", \"ember-moment/helpers/is-same-or-after\"], function (_exports, _isSameOrAfter) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function get() {\n return _isSameOrAfter.default;\n }\n });\n});","define(\"kredits-web/helpers/is-same-or-before\", [\"exports\", \"ember-moment/helpers/is-same-or-before\"], function (_exports, _isSameOrBefore) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function get() {\n return _isSameOrBefore.default;\n }\n });\n});","define(\"kredits-web/helpers/is-same\", [\"exports\", \"ember-moment/helpers/is-same\"], function (_exports, _isSame) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function get() {\n return _isSame.default;\n }\n });\n});","define(\"kredits-web/helpers/item-status\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\n function _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\n function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\n function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\n function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\n function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\n var _default = Ember.Helper.extend({\n kredits: Ember.inject.service(),\n currentBlock: Ember.computed.alias('kredits.currentBlock'),\n compute: function compute(_ref) {\n var _ref2 = _slicedToArray(_ref, 1),\n item = _ref2[0];\n\n this.setupRecompute(item);\n var status = [];\n\n if (item.vetoed) {\n status.push('vetoed');\n } else if (item.confirmedAt > this.currentBlock) {\n status.push('unconfirmed');\n } else {\n status.push('confirmed');\n }\n\n if (item.hasPendingChanges) {\n status.push('pending');\n }\n\n return status.join(' ');\n },\n destroy: function destroy() {\n if (this.teardown) this.teardown();\n\n this._super.apply(this, arguments);\n },\n setupRecompute: function setupRecompute(item) {\n var _this = this;\n\n if (this.teardown) this.teardown();\n item.addObserver('vetoed', this, this.triggerRecompute);\n item.addObserver('confirmedAt', this, this.triggerRecompute);\n item.addObserver('currentBlock', this, this.triggerRecompute);\n item.addObserver('hasPendingChanges', this, this.triggerRecompute);\n\n this.teardown = function () {\n item.removeObserver('vetoed', _this, _this.triggerRecompute);\n item.removeObserver('confirmedAt', _this, _this.triggerRecompute);\n item.removeObserver('currentBlock', _this, _this.triggerRecompute);\n item.removeObserver('hasPendingChanges', _this, _this.triggerRecompute);\n };\n },\n triggerRecompute: function triggerRecompute() {\n Ember.run.once(this, this.recompute);\n }\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/helpers/lt\", [\"exports\", \"ember-truth-helpers/helpers/lt\"], function (_exports, _lt) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function get() {\n return _lt.default;\n }\n });\n Object.defineProperty(_exports, \"lt\", {\n enumerable: true,\n get: function get() {\n return _lt.lt;\n }\n });\n});","define(\"kredits-web/helpers/lte\", [\"exports\", \"ember-truth-helpers/helpers/lte\"], function (_exports, _lte) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function get() {\n return _lte.default;\n }\n });\n Object.defineProperty(_exports, \"lte\", {\n enumerable: true,\n get: function get() {\n return _lte.lte;\n }\n });\n});","define(\"kredits-web/helpers/moment-add\", [\"exports\", \"ember-moment/helpers/moment-add\"], function (_exports, _momentAdd) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function get() {\n return _momentAdd.default;\n }\n });\n});","define(\"kredits-web/helpers/moment-calendar\", [\"exports\", \"ember-moment/helpers/moment-calendar\"], function (_exports, _momentCalendar) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function get() {\n return _momentCalendar.default;\n }\n });\n});","define(\"kredits-web/helpers/moment-diff\", [\"exports\", \"ember-moment/helpers/moment-diff\"], function (_exports, _momentDiff) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function get() {\n return _momentDiff.default;\n }\n });\n});","define(\"kredits-web/helpers/moment-duration\", [\"exports\", \"ember-moment/helpers/moment-duration\"], function (_exports, _momentDuration) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function get() {\n return _momentDuration.default;\n }\n });\n});","define(\"kredits-web/helpers/moment-format\", [\"exports\", \"ember-moment/helpers/moment-format\"], function (_exports, _momentFormat) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function get() {\n return _momentFormat.default;\n }\n });\n});","define(\"kredits-web/helpers/moment-from-now\", [\"exports\", \"ember-moment/helpers/moment-from-now\"], function (_exports, _momentFromNow) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function get() {\n return _momentFromNow.default;\n }\n });\n});","define(\"kredits-web/helpers/moment-from\", [\"exports\", \"ember-moment/helpers/moment-from\"], function (_exports, _momentFrom) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function get() {\n return _momentFrom.default;\n }\n });\n});","define(\"kredits-web/helpers/moment-subtract\", [\"exports\", \"ember-moment/helpers/moment-subtract\"], function (_exports, _momentSubtract) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function get() {\n return _momentSubtract.default;\n }\n });\n});","define(\"kredits-web/helpers/moment-to-date\", [\"exports\", \"ember-moment/helpers/moment-to-date\"], function (_exports, _momentToDate) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function get() {\n return _momentToDate.default;\n }\n });\n});","define(\"kredits-web/helpers/moment-to-now\", [\"exports\", \"ember-moment/helpers/moment-to-now\"], function (_exports, _momentToNow) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function get() {\n return _momentToNow.default;\n }\n });\n});","define(\"kredits-web/helpers/moment-to\", [\"exports\", \"ember-moment/helpers/moment-to\"], function (_exports, _momentTo) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function get() {\n return _momentTo.default;\n }\n });\n});","define(\"kredits-web/helpers/moment-unix\", [\"exports\", \"ember-moment/helpers/unix\"], function (_exports, _unix) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function get() {\n return _unix.default;\n }\n });\n});","define(\"kredits-web/helpers/moment\", [\"exports\", \"ember-moment/helpers/moment\"], function (_exports, _moment) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function get() {\n return _moment.default;\n }\n });\n});","define(\"kredits-web/helpers/not-eq\", [\"exports\", \"ember-truth-helpers/helpers/not-equal\"], function (_exports, _notEqual) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function get() {\n return _notEqual.default;\n }\n });\n Object.defineProperty(_exports, \"notEqualHelper\", {\n enumerable: true,\n get: function get() {\n return _notEqual.notEqualHelper;\n }\n });\n});","define(\"kredits-web/helpers/not\", [\"exports\", \"ember-truth-helpers/helpers/not\"], function (_exports, _not) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function get() {\n return _not.default;\n }\n });\n Object.defineProperty(_exports, \"not\", {\n enumerable: true,\n get: function get() {\n return _not.not;\n }\n });\n});","define(\"kredits-web/helpers/now\", [\"exports\", \"ember-moment/helpers/now\"], function (_exports, _now) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function get() {\n return _now.default;\n }\n });\n});","define(\"kredits-web/helpers/or\", [\"exports\", \"ember-truth-helpers/helpers/or\"], function (_exports, _or) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function get() {\n return _or.default;\n }\n });\n Object.defineProperty(_exports, \"or\", {\n enumerable: true,\n get: function get() {\n return _or.or;\n }\n });\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\ndefine(\"kredits-web/services/browser-cache\", [\"exports\", \"localforage\", \"kredits-web/config/environment\"], function (_exports, localforage, _environment) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\n function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\n function _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\n function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\n function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\n function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\n function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\n function _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\n function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n function createStore(name) {\n var networkName;\n\n if (_environment.default.web3NetworkName) {\n networkName = _environment.default.web3NetworkName.toLocaleLowerCase().replace(' ', '-');\n } else {\n networkName = 'custom';\n }\n\n return localforage.createInstance({\n name: \"kredits:\".concat(networkName, \":\").concat(name)\n });\n }\n\n var BrowserCacheService = /*#__PURE__*/function (_Ember$Service) {\n _inherits(BrowserCacheService, _Ember$Service);\n\n var _super = _createSuper(BrowserCacheService);\n\n function BrowserCacheService() {\n var _this;\n\n _classCallCheck(this, BrowserCacheService);\n\n _this = _super.apply(this, arguments);\n _this.stores = {\n contributors: createStore('contributors'),\n contributions: createStore('contributions'),\n reimbursements: createStore('reimbursements')\n };\n return _this;\n }\n\n _createClass(BrowserCacheService, [{\n key: \"contributors\",\n get: function get() {\n return this.stores.contributors;\n }\n }, {\n key: \"contributions\",\n get: function get() {\n return this.stores.contributions;\n }\n }, {\n key: \"reimbursements\",\n get: function get() {\n return this.stores.reimbursements;\n }\n }]);\n\n return BrowserCacheService;\n }(Ember.Service);\n\n _exports.default = BrowserCacheService;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\ndefine(\"kredits-web/services/community-funds\", [\"exports\", \"ember-concurrency-decorators\", \"kredits-web/config/environment\"], function (_exports, _emberConcurrencyDecorators, _environment) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _dec, _dec2, _dec3, _class, _descriptor, _descriptor2, _descriptor3;\n\n function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\n function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\n function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\n function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\n function _initializerDefineProperty(target, property, descriptor, context) { if (!descriptor) return; Object.defineProperty(target, property, { enumerable: descriptor.enumerable, configurable: descriptor.configurable, writable: descriptor.writable, value: descriptor.initializer ? descriptor.initializer.call(context) : void 0 }); }\n\n function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\n function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\n function _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\n function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\n function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\n function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\n function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\n function _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\n function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n function _applyDecoratedDescriptor(target, property, decorators, descriptor, context) { var desc = {}; Object.keys(descriptor).forEach(function (key) { desc[key] = descriptor[key]; }); desc.enumerable = !!desc.enumerable; desc.configurable = !!desc.configurable; if ('value' in desc || desc.initializer) { desc.writable = true; } desc = decorators.slice().reverse().reduce(function (desc, decorator) { return decorator(target, property, desc) || desc; }, desc); if (context && desc.initializer !== void 0) { desc.value = desc.initializer ? desc.initializer.call(context) : void 0; desc.initializer = undefined; } if (desc.initializer === void 0) { Object.defineProperty(target, property, desc); desc = null; } return desc; }\n\n function _initializerWarningHelper(descriptor, context) { throw new Error('Decorating class property failed. Please ensure that ' + 'proposal-class-properties is enabled and runs after the decorators transform.'); }\n\n var CommunityFundsService = (_dec = Ember.inject.service, _dec2 = Ember._tracked, _dec3 = Ember._tracked, (_class = /*#__PURE__*/function (_Ember$Service) {\n _inherits(CommunityFundsService, _Ember$Service);\n\n var _super = _createSuper(CommunityFundsService);\n\n function CommunityFundsService() {\n var _this;\n\n _classCallCheck(this, CommunityFundsService);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _initializerDefineProperty(_assertThisInitialized(_this), \"exchangeRates\", _descriptor, _assertThisInitialized(_this));\n\n _initializerDefineProperty(_assertThisInitialized(_this), \"balancesLoaded\", _descriptor2, _assertThisInitialized(_this));\n\n _initializerDefineProperty(_assertThisInitialized(_this), \"balances\", _descriptor3, _assertThisInitialized(_this));\n\n return _this;\n }\n\n _createClass(CommunityFundsService, [{\n key: \"fetchBalances\",\n value: /*#__PURE__*/regeneratorRuntime.mark(function fetchBalances() {\n var _this2 = this;\n\n return regeneratorRuntime.wrap(function fetchBalances$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return fetch(_environment.default.btcBalanceAPI).then(function (res) {\n return res.json();\n }).then(function (res) {\n return _this2.processBalances(res);\n }).catch(function (err) {\n console.log(\"[community-funds] Fetching balances failed:\");\n console.error(err);\n });\n\n case 2:\n case \"end\":\n return _context.stop();\n }\n }\n }, fetchBalances);\n })\n }, {\n key: \"processBalances\",\n value: function () {\n var _processBalances = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee(res) {\n var lang, balanceUSD;\n return regeneratorRuntime.wrap(function _callee$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n _context2.next = 2;\n return this.exchangeRates.fetchRates();\n\n case 2:\n // Format and round the approximate USD value\n lang = navigator.language || navigator.userLanguage;\n balanceUSD = res.confirmed_balance * this.exchangeRates.btcusd;\n res.balanceUSD = Math.round(balanceUSD).toLocaleString(lang);\n this.balances.pushObject(_objectSpread(_objectSpread({}, res), {\n token: {\n name: 'BTC',\n symbol: 'BTC'\n }\n }));\n this.balancesLoaded = true;\n\n case 7:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee, this);\n }));\n\n function processBalances(_x) {\n return _processBalances.apply(this, arguments);\n }\n\n return processBalances;\n }()\n }]);\n\n return CommunityFundsService;\n }(Ember.Service), (_descriptor = _applyDecoratedDescriptor(_class.prototype, \"exchangeRates\", [_dec], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n }), _descriptor2 = _applyDecoratedDescriptor(_class.prototype, \"balancesLoaded\", [_dec2], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function initializer() {\n return false;\n }\n }), _descriptor3 = _applyDecoratedDescriptor(_class.prototype, \"balances\", [_dec3], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function initializer() {\n return Ember.A([]);\n }\n }), _applyDecoratedDescriptor(_class.prototype, \"fetchBalances\", [_emberConcurrencyDecorators.task], Object.getOwnPropertyDescriptor(_class.prototype, \"fetchBalances\"), _class.prototype)), _class));\n _exports.default = CommunityFundsService;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\ndefine(\"kredits-web/services/exchange-rates\", [\"exports\", \"kredits-web/config/environment\"], function (_exports, _environment) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _dec, _dec2, _class, _descriptor, _descriptor2;\n\n function _initializerDefineProperty(target, property, descriptor, context) { if (!descriptor) return; Object.defineProperty(target, property, { enumerable: descriptor.enumerable, configurable: descriptor.configurable, writable: descriptor.writable, value: descriptor.initializer ? descriptor.initializer.call(context) : void 0 }); }\n\n function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\n function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\n function _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\n function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\n function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\n function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\n function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\n function _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\n function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n function _applyDecoratedDescriptor(target, property, decorators, descriptor, context) { var desc = {}; Object.keys(descriptor).forEach(function (key) { desc[key] = descriptor[key]; }); desc.enumerable = !!desc.enumerable; desc.configurable = !!desc.configurable; if ('value' in desc || desc.initializer) { desc.writable = true; } desc = decorators.slice().reverse().reduce(function (desc, decorator) { return decorator(target, property, desc) || desc; }, desc); if (context && desc.initializer !== void 0) { desc.value = desc.initializer ? desc.initializer.call(context) : void 0; desc.initializer = undefined; } if (desc.initializer === void 0) { Object.defineProperty(target, property, desc); desc = null; } return desc; }\n\n function _initializerWarningHelper(descriptor, context) { throw new Error('Decorating class property failed. Please ensure that ' + 'proposal-class-properties is enabled and runs after the decorators transform.'); }\n\n function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\n function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\n // Need to go through proxy for CORS headers\n var bitstampBaseUrl = \"\".concat(_environment.default.corsProxy, \"https://www.bitstamp.net/api/v2\");\n\n function fetchFromBitstamp(_x) {\n return _fetchFromBitstamp.apply(this, arguments);\n }\n\n function _fetchFromBitstamp() {\n _fetchFromBitstamp = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee(currencyPair) {\n var res;\n return regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.prev = 0;\n _context.next = 3;\n return fetch(\"\".concat(bitstampBaseUrl, \"/ticker/\").concat(currencyPair, \"/\")).then(function (r) {\n return r.json();\n });\n\n case 3:\n res = _context.sent;\n return _context.abrupt(\"return\", parseFloat(res.vwap));\n\n case 7:\n _context.prev = 7;\n _context.t0 = _context[\"catch\"](0);\n console.error('Could not fetch exchange rate from Bitstamp:', _context.t0);\n return _context.abrupt(\"return\", 0);\n\n case 11:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, null, [[0, 7]]);\n }));\n return _fetchFromBitstamp.apply(this, arguments);\n }\n\n var ExchangeRatesService = (_dec = Ember._tracked, _dec2 = Ember._tracked, (_class = /*#__PURE__*/function (_Ember$Service) {\n _inherits(ExchangeRatesService, _Ember$Service);\n\n var _super = _createSuper(ExchangeRatesService);\n\n function ExchangeRatesService() {\n var _this;\n\n _classCallCheck(this, ExchangeRatesService);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _initializerDefineProperty(_assertThisInitialized(_this), \"btceur\", _descriptor, _assertThisInitialized(_this));\n\n _initializerDefineProperty(_assertThisInitialized(_this), \"btcusd\", _descriptor2, _assertThisInitialized(_this));\n\n return _this;\n }\n\n _createClass(ExchangeRatesService, [{\n key: \"fetchRates\",\n value: function () {\n var _fetchRates = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2() {\n var source,\n _args2 = arguments;\n return regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n source = _args2.length > 0 && _args2[0] !== undefined ? _args2[0] : 'bitstamp';\n _context2.t0 = source;\n _context2.next = _context2.t0 === 'bitstamp' ? 4 : 10;\n break;\n\n case 4:\n _context2.next = 6;\n return fetchFromBitstamp('btceur');\n\n case 6:\n this.btceur = _context2.sent;\n _context2.next = 9;\n return fetchFromBitstamp('btcusd');\n\n case 9:\n this.btcusd = _context2.sent;\n\n case 10:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2, this);\n }));\n\n function fetchRates() {\n return _fetchRates.apply(this, arguments);\n }\n\n return fetchRates;\n }()\n }]);\n\n return ExchangeRatesService;\n }(Ember.Service), (_descriptor = _applyDecoratedDescriptor(_class.prototype, \"btceur\", [_dec], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function initializer() {\n return 0;\n }\n }), _descriptor2 = _applyDecoratedDescriptor(_class.prototype, \"btcusd\", [_dec2], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function initializer() {\n return 0;\n }\n })), _class));\n _exports.default = ExchangeRatesService;\n});","define(\"kredits-web/helpers/perform\", [\"exports\", \"ember-concurrency/helpers/perform\"], function (_exports, _perform) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function get() {\n return _perform.default;\n }\n });\n});","define(\"kredits-web/helpers/promise-all\", [\"exports\", \"ember-promise-helpers/helpers/promise-all\"], function (_exports, _promiseAll) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function get() {\n return _promiseAll.default;\n }\n });\n});","define(\"kredits-web/helpers/promise-hash\", [\"exports\", \"ember-promise-helpers/helpers/promise-hash\"], function (_exports, _promiseHash) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function get() {\n return _promiseHash.default;\n }\n });\n});","define(\"kredits-web/helpers/promise-rejected-reason\", [\"exports\", \"ember-promise-helpers/helpers/promise-rejected-reason\"], function (_exports, _promiseRejectedReason) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function get() {\n return _promiseRejectedReason.default;\n }\n });\n});","define(\"kredits-web/helpers/sats-to-btc\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.Helper.helper(function satsToBtc(amount\n /*, hash*/\n ) {\n return amount / 100000000;\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/helpers/task\", [\"exports\", \"ember-concurrency/helpers/task\"], function (_exports, _task) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function get() {\n return _task.default;\n }\n });\n});","define(\"kredits-web/helpers/unix\", [\"exports\", \"ember-moment/helpers/unix\"], function (_exports, _unix) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function get() {\n return _unix.default;\n }\n });\n});","define(\"kredits-web/helpers/utc\", [\"exports\", \"ember-moment/helpers/utc\"], function (_exports, _utc) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function get() {\n return _utc.default;\n }\n });\n Object.defineProperty(_exports, \"utc\", {\n enumerable: true,\n get: function get() {\n return _utc.utc;\n }\n });\n});","define(\"kredits-web/helpers/xor\", [\"exports\", \"ember-truth-helpers/helpers/xor\"], function (_exports, _xor) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function get() {\n return _xor.default;\n }\n });\n Object.defineProperty(_exports, \"xor\", {\n enumerable: true,\n get: function get() {\n return _xor.xor;\n }\n });\n});","define(\"kredits-web/initializers/app-version\", [\"exports\", \"ember-cli-app-version/initializer-factory\", \"kredits-web/config/environment\"], function (_exports, _initializerFactory, _environment) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n var name, version;\n\n if (_environment.default.APP) {\n name = _environment.default.APP.name;\n version = _environment.default.APP.version;\n }\n\n var _default = {\n name: 'App Version',\n initialize: (0, _initializerFactory.default)(name, version)\n };\n _exports.default = _default;\n});","define(\"kredits-web/initializers/container-debug-adapter\", [\"exports\", \"ember-resolver/resolvers/classic/container-debug-adapter\"], function (_exports, _containerDebugAdapter) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n var _default = {\n name: 'container-debug-adapter',\n initialize: function initialize() {\n var app = arguments[1] || arguments[0];\n app.register('container-debug-adapter:main', _containerDebugAdapter.default);\n }\n };\n _exports.default = _default;\n});","define(\"kredits-web/initializers/ember-concurrency\", [\"exports\", \"ember-concurrency/initializers/ember-concurrency\"], function (_exports, _emberConcurrency) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function get() {\n return _emberConcurrency.default;\n }\n });\n});","define(\"kredits-web/initializers/export-application-global\", [\"exports\", \"kredits-web/config/environment\"], function (_exports, _environment) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n _exports.initialize = initialize;\n\n function initialize() {\n var application = arguments[1] || arguments[0];\n\n if (_environment.default.exportApplicationGlobal !== false) {\n var theGlobal;\n\n if (typeof window !== 'undefined') {\n theGlobal = window;\n } else if (typeof global !== 'undefined') {\n theGlobal = global;\n } else if (typeof self !== 'undefined') {\n theGlobal = self;\n } else {\n // no reasonable global, just bail\n return;\n }\n\n var value = _environment.default.exportApplicationGlobal;\n var globalName;\n\n if (typeof value === 'string') {\n globalName = value;\n } else {\n globalName = Ember.String.classify(_environment.default.modulePrefix);\n }\n\n if (!theGlobal[globalName]) {\n theGlobal[globalName] = application;\n application.reopen({\n willDestroy: function willDestroy() {\n this._super.apply(this, arguments);\n\n delete theGlobal[globalName];\n }\n });\n }\n }\n }\n\n var _default = {\n name: 'export-application-global',\n initialize: initialize\n };\n _exports.default = _default;\n});","define(\"kredits-web/models/contribution\", [\"exports\", \"moment\"], function (_exports, _moment) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.Object.extend({\n // Contract\n id: null,\n contributorId: null,\n amount: null,\n confirmedAt: null,\n vetoed: null,\n ipfsHash: null,\n // contributor model instance\n contributor: null,\n // TODO contributor who submitted the contribution\n // submittedBy: null,\n // IPFS\n kind: null,\n description: null,\n details: null,\n url: null,\n date: null,\n time: null,\n pendingTx: null,\n init: function init() {\n this._super.apply(this, arguments);\n\n if (Ember.isEmpty(this.details)) this.set('details', {});\n },\n iso8601Date: Ember.computed('date', 'time', function () {\n return this.time ? \"\".concat(this.date, \"T\").concat(this.time) : this.date;\n }),\n jsDate: Ember.computed('iso8601Date', function () {\n return (0, _moment.default)(this.iso8601Date).toDate();\n }),\n hasPendingChanges: Ember.computed('pendingTx', function () {\n return Ember.isPresent(this.pendingTx);\n }),\n serialize: function serialize() {\n return JSON.stringify(this);\n }\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/models/contributor\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.Object.extend({\n // Contract\n id: null,\n account: null,\n balance: 0,\n totalKreditsEarned: 0,\n contributionsCount: 0,\n isCore: false,\n ipfsHash: null,\n // IPFS\n kind: null,\n name: null,\n url: null,\n github_username: null,\n github_uid: null,\n wiki_username: null,\n zoom_display_name: null,\n serialize: function serialize() {\n return JSON.stringify(this);\n }\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/models/reimbursement\", [\"exports\", \"moment\"], function (_exports, _moment) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.Object.extend({\n // Contract\n id: null,\n recipientId: null,\n token: null,\n amount: null,\n confirmedAt: null,\n vetoed: null,\n ipfsHash: null,\n // contributor model instance\n recipient: null,\n // TODO contributor who submitted the reimbursement\n // recordedBy: null,\n // IPFS\n expenses: null,\n // Array of expense objects\n pendingTx: null,\n iso8601Date: Ember.computed('date', 'time', function () {\n return this.time ? \"\".concat(this.date, \"T\").concat(this.time) : this.date;\n }),\n jsDate: Ember.computed('iso8601Date', function () {\n return (0, _moment.default)(this.iso8601Date).toDate();\n }),\n hasPendingChanges: Ember.computed('pendingTx', function () {\n return Ember.isPresent(this.pendingTx);\n }),\n pendingStatus: Ember.computed('pendingTx', function () {\n return Ember.isPresent(this.pendingTx) ? 'isPending' : 'notPending';\n }),\n serialize: function serialize() {\n return JSON.stringify(this);\n }\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/routes/contributions/resubmit\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.Route.extend({\n kredits: Ember.inject.service(),\n model: function model(params) {\n return this.kredits.contributions.findBy('id', parseInt(params.id));\n },\n setupController: function setupController(controller, model) {\n this._super(controller, model);\n\n controller.set('attributes', model.getProperties(['contributorId', 'kind', 'amount', 'description', 'url', 'details']));\n controller.set('attributes.date', model.jsDate);\n }\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/routes/contributors/edit\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.Route.extend({\n kredits: Ember.inject.service(),\n contributors: Ember.computed.alias('kredits.contributors'),\n model: function model(params) {\n return this.kredits.contributors.findBy('id', params.id);\n },\n setupController: function setupController(controller, model) {\n this._super(controller, model);\n\n controller.set('attributes', {\n account: model.account,\n name: model.name,\n kind: model.kind,\n url: model.url,\n github_username: model.github_username,\n github_uid: model.github_uid,\n gitea_username: model.gitea_username,\n wiki_username: model.wiki_username,\n zoom_display_name: model.zoom_display_name\n });\n }\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/routes/dashboard/contributions/show\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.Route.extend({\n kredits: Ember.inject.service(),\n contributions: Ember.computed.alias('kredits.contributions'),\n model: function model(params) {\n return this.contributions.findBy('id', parseInt(params.id));\n },\n setupController: function setupController(controller, model) {\n this._super(controller, model);\n\n this.controllerFor('dashboard').setProperties({\n showDetailsPane: true,\n selectedContributionId: model.id\n });\n },\n deactivate: function deactivate() {\n this.controllerFor('dashboard').setProperties({\n showDetailsPane: false,\n selectedContributionId: null\n });\n }\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/routes/dashboard/contributors/show\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.Route.extend({\n kredits: Ember.inject.service(),\n contributors: Ember.computed.alias('kredits.contributors'),\n model: function model(params) {\n var contributor = this.contributors.findBy('id', params.id);\n\n if (contributor) {\n return contributor;\n } else {\n return this.kredits.fetchContributor(params.id);\n }\n },\n setupController: function setupController(controller, model) {\n this._super(controller, model);\n\n this.controllerFor('dashboard').setProperties({\n showDetailsPane: true,\n selectedContributorId: model.id\n });\n },\n deactivate: function deactivate() {\n this.controllerFor('dashboard').setProperties({\n showDetailsPane: false,\n selectedContributorId: null\n });\n }\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/routes/index\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.Route.extend({\n redirect: function redirect() {\n this.transitionTo('dashboard');\n }\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/routes/signup\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.Route.extend({});\n\n _exports.default = _default;\n});","define(\"kredits-web/routes/signup/complete\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.Route.extend({});\n\n _exports.default = _default;\n});","define(\"kredits-web/routes/signup/github\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.Route.extend({\n kredits: Ember.inject.service(),\n redirect: function redirect() {\n this._super.apply(this, arguments);\n\n var accessToken;\n\n try {\n accessToken = window.location.hash.match(/access_token=(.+)/)[1];\n } catch (error) {\n /* ignore */\n }\n\n if (Ember.isEmpty(accessToken) || accessToken === 'undefined') {\n console.error('No GitHub access token found.');\n this.transitionTo('signup');\n return;\n }\n\n this.kredits.set('githubAccessToken', accessToken);\n this.transitionTo('signup.account');\n }\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/services/kredits\", [\"exports\", \"ethers\", \"@kredits/contracts\", \"ember-concurrency\", \"kredits-web/utils/group-by\", \"kredits-web/utils/process-contributor-data\", \"kredits-web/utils/process-contribution-data\", \"kredits-web/utils/process-reimbursement-data\", \"kredits-web/utils/format-kredits\", \"kredits-web/utils/switch-network\", \"kredits-web/config/environment\", \"kredits-web/models/contributor\", \"kredits-web/models/contribution\", \"kredits-web/models/reimbursement\"], function (_exports, _ethers, _contracts, _emberConcurrency, _groupBy, _processContributorData, _processContributionData, _processReimbursementData, _formatKredits, _switchNetwork, _environment, _contributor, _contribution, _reimbursement) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\n function _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\n function _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\n\n function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\n function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } 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 normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }\n\n function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\n function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\n function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\n function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\n // Lets us access the model classes dynamically\n var models = {\n Contributor: _contributor.default,\n Contribution: _contribution.default,\n Reimbursement: _reimbursement.default\n };\n\n var _default = Ember.Service.extend({\n browserCache: Ember.inject.service(),\n currentBlock: null,\n currentUserAccounts: null,\n // default to not having an account. this is the wen web3 is loaded.\n currentUser: null,\n contributors: null,\n contributions: null,\n reimbursements: null,\n githubAccessToken: null,\n currentUserIsContributor: Ember.computed.notEmpty('currentUser'),\n currentUserIsCore: Ember.computed.alias('currentUser.isCore'),\n hasAccounts: Ember.computed.notEmpty('currentUserAccounts'),\n contributorsMined: Ember.computed.filterBy('contributors', 'id'),\n contributorsSorting: Object.freeze(['name:asc']),\n contributorsSorted: Ember.computed.sort('contributorsMined', 'contributorsSorting'),\n // When data was loaded from cache, we need to fetch updates from the network\n contributorsNeedSync: false,\n contributionsNeedSync: false,\n reimbursementsNeedSync: false,\n missingHistoricContributionsCount: 0,\n init: function init() {\n this._super.apply(this, arguments);\n\n this.set('contributors', []);\n this.set('contributions', []);\n this.set('reimbursements', []);\n\n if (window.ethereum) {\n window.ethereum.on('chainChanged', this.handleUserChainChanged);\n window.ethereum.on('accountsChanged', this.handleAccountsChanged);\n }\n },\n handleUserChainChanged: function handleUserChainChanged(chainId) {\n console.log('User-provided chain ID changed to', chainId);\n window.location.reload();\n },\n handleAccountsChanged: function handleAccountsChanged(accounts) {\n console.log('User-provided accounts changed to', accounts);\n window.location.reload();\n },\n // This is called in the application route's beforeModel(). So it is\n // initialized before everything else, and we can rely on the ethProvider and\n // the potential currentUserAccounts to be available\n getEthProvider: function getEthProvider() {\n var _this = this;\n\n var ethProvider;\n return new Promise(function (resolve) {\n function instantiateWithoutWallet() {\n console.debug('[kredits] Creating new instance from npm module class');\n console.debug(\"[kredits] providerURL: \".concat(_environment.default.web3ProviderUrl));\n ethProvider = new _ethers.default.providers.JsonRpcProvider(_environment.default.web3ProviderUrl);\n resolve({\n ethProvider: ethProvider,\n ethSigner: null\n });\n }\n\n function instantiateWithWallet(_x, _x2) {\n return _instantiateWithWallet.apply(this, arguments);\n }\n\n function _instantiateWithWallet() {\n _instantiateWithWallet = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee(web3Provider, context) {\n var network, accounts, chainId, ethSigner;\n return regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n console.debug('[kredits] Using user-provided Web3 instance, e.g. from Metamask');\n ethProvider = new _ethers.default.providers.Web3Provider(web3Provider);\n _context.next = 4;\n return ethProvider.getNetwork();\n\n case 4:\n network = _context.sent;\n _context.next = 7;\n return ethProvider.listAccounts();\n\n case 7:\n accounts = _context.sent;\n chainId = _environment.default.web3ChainId;\n\n if (!Ember.isEmpty(accounts)) {\n _context.next = 11;\n break;\n }\n\n return _context.abrupt(\"return\", instantiateWithoutWallet());\n\n case 11:\n if (!(network.chainId !== chainId)) {\n _context.next = 15;\n break;\n }\n\n return _context.abrupt(\"return\", (0, _switchNetwork.default)());\n\n case 15:\n context.set('currentUserAccounts', accounts);\n ethSigner = accounts.length === 0 ? null : ethProvider.getSigner();\n resolve({\n ethProvider: ethProvider,\n ethSigner: ethSigner\n });\n\n case 18:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n return _instantiateWithWallet.apply(this, arguments);\n }\n\n if (window.ethereum) {\n instantiateWithWallet(window.ethereum, _this);\n } else {\n instantiateWithoutWallet();\n }\n });\n },\n connectWallet: function connectWallet() {\n return _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2() {\n var provider, network, chainId, chainIdHex;\n return regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n provider = new _ethers.default.providers.Web3Provider(window.ethereum);\n _context2.next = 3;\n return provider.getNetwork();\n\n case 3:\n network = _context2.sent;\n chainId = _environment.default.web3ChainId;\n chainIdHex = \"0x\".concat(Number(chainId).toString(16));\n _context2.prev = 6;\n _context2.next = 9;\n return window.ethereum.request({\n method: 'eth_requestAccounts'\n });\n\n case 9:\n if (!(network.chainId !== chainId)) {\n _context2.next = 12;\n break;\n }\n\n _context2.next = 12;\n return (0, _switchNetwork.default)(chainIdHex);\n\n case 12:\n _context2.next = 18;\n break;\n\n case 14:\n _context2.prev = 14;\n _context2.t0 = _context2[\"catch\"](6);\n console.log('Connecting wallet failed:', _context2.t0);\n return _context2.abrupt(\"return\", false);\n\n case 18:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2, null, [[6, 14]]);\n }))();\n },\n setup: function setup() {\n var _this2 = this;\n\n return _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee3() {\n var kredits;\n return regeneratorRuntime.wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n _context3.next = 2;\n return _this2.getEthProvider().then(function (providerAndSigner) {\n return new _contracts.default(providerAndSigner.ethProvider, providerAndSigner.ethSigner, {\n ipfsConfig: _environment.default.ipfs\n });\n });\n\n case 2:\n kredits = _context3.sent;\n _context3.next = 5;\n return kredits.init();\n\n case 5:\n _this2.set('kredits', kredits);\n\n _context3.t0 = _this2;\n _context3.next = 9;\n return _this2.kredits.provider.getBlockNumber();\n\n case 9:\n _context3.t1 = _context3.sent;\n\n _context3.t0.set.call(_context3.t0, 'currentBlock', _context3.t1);\n\n _this2.kredits.provider.on('block', function (blockNumber) {\n console.debug('[kredits] New block mined:', blockNumber);\n\n _this2.set('currentBlock', blockNumber);\n });\n\n if (_this2.currentUserAccounts && _this2.currentUserAccounts.length > 0) {\n _this2.getCurrentUser.then(function (contributorData) {\n _this2.set('currentUser', contributorData);\n });\n }\n\n return _context3.abrupt(\"return\", kredits);\n\n case 14:\n case \"end\":\n return _context3.stop();\n }\n }\n }, _callee3);\n }))();\n },\n getCurrentUser: Ember.computed('kredits.provider', 'currentUserAccounts.[]', function () {\n var _this3 = this;\n\n if (Ember.isEmpty(this.currentUserAccounts)) {\n return Promise.resolve();\n }\n\n return this.kredits.Contributor.functions.getContributorIdByAddress(this.currentUserAccounts.firstObject).then(function (id) {\n // check if the user is a contributor or not\n if (id === 0) {\n return Promise.resolve();\n } else {\n return _this3.kredits.Contributor.getById(id);\n }\n });\n }),\n totalSupply: Ember.computed(function () {\n return this.kredits.Token.functions.totalSupply().then(function (total) {\n return (0, _formatKredits.default)(total);\n });\n }),\n totalKreditsEarned: Ember.computed(function () {\n return this.kredits.Contribution.functions.totalKreditsEarned(true);\n }),\n kreditsByContributor: Ember.computed('contributionsUnconfirmed.@each.vetoed', 'contributors.[]', function () {\n var _this4 = this;\n\n var contributionsUnconfirmed = this.contributionsUnconfirmed.filterBy('vetoed', false);\n var contributionsGrouped = (0, _groupBy.default)(contributionsUnconfirmed, 'contributorId');\n var contributorsWithUnconfirmed = contributionsGrouped.map(function (c) {\n return c.value;\n });\n var contributorsWithOnlyConfirmed = this.contributors.reject(function (c) {\n return contributorsWithUnconfirmed.includes(c.id);\n });\n var kreditsByContributor = contributionsGrouped.map(function (c) {\n var amountUnconfirmed = c.items.mapBy('amount').reduce(function (a, b) {\n return a + b;\n });\n\n var contributor = _this4.contributors.findBy('id', c.value);\n\n return Ember.Object.create({\n contributor: contributor,\n amountUnconfirmed: amountUnconfirmed,\n amountConfirmed: contributor.totalKreditsEarned,\n amountTotal: contributor.totalKreditsEarned + amountUnconfirmed\n });\n });\n contributorsWithOnlyConfirmed.forEach(function (c) {\n kreditsByContributor.push(Ember.Object.create({\n contributor: c,\n amountUnconfirmed: 0,\n amountConfirmed: c.totalKreditsEarned,\n amountTotal: c.totalKreditsEarned\n }));\n });\n return kreditsByContributor;\n }),\n contributionsUnconfirmed: Ember.computed('contributions.[]', 'currentBlock', function () {\n var _this5 = this;\n\n return this.contributions.filter(function (c) {\n return c.confirmedAt > _this5.currentBlock;\n });\n }),\n contributionsConfirmed: Ember.computed('contributions.[]', 'currentBlock', function () {\n var _this6 = this;\n\n return this.contributions.filterBy('vetoed', false).filter(function (c) {\n return c.confirmedAt <= _this6.currentBlock;\n });\n }),\n reimbursementsUnconfirmed: Ember.computed('reimbursements.[]', 'currentBlock', function () {\n var _this7 = this;\n\n return this.reimbursements.filter(function (r) {\n return r.confirmedAt > _this7.currentBlock;\n });\n }),\n reimbursementsConfirmed: Ember.computed('reimbursements.[]', 'currentBlock', function () {\n var _this8 = this;\n\n return this.reimbursements.filterBy('vetoed', false).filter(function (r) {\n return r.confirmedAt <= _this8.currentBlock;\n });\n }),\n reimbursementsPending: Ember.computed('reimbursements.[]', 'pendingTx', function () {\n return this.reimbursements.filter(function (r) {\n return !r.id;\n });\n }),\n loadInitialData: function loadInitialData() {\n var _this9 = this;\n\n return _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee4() {\n var numCachedContributors, numCachedContributions;\n return regeneratorRuntime.wrap(function _callee4$(_context4) {\n while (1) {\n switch (_context4.prev = _context4.next) {\n case 0:\n _context4.next = 2;\n return _this9.browserCache.contributors.length();\n\n case 2:\n numCachedContributors = _context4.sent;\n\n if (!(numCachedContributors > 0)) {\n _context4.next = 9;\n break;\n }\n\n _context4.next = 6;\n return _this9.loadObjectsFromCache('Contributor');\n\n case 6:\n _this9.set('contributorsNeedSync', true);\n\n _context4.next = 11;\n break;\n\n case 9:\n _context4.next = 11;\n return _this9.fetchContributors();\n\n case 11:\n _context4.next = 13;\n return _this9.browserCache.contributions.length();\n\n case 13:\n numCachedContributions = _context4.sent;\n\n if (!(numCachedContributions > 0)) {\n _context4.next = 20;\n break;\n }\n\n _context4.next = 17;\n return _this9.loadObjectsFromCache('Contribution');\n\n case 17:\n _this9.set('contributionsNeedSync', true);\n\n _context4.next = 22;\n break;\n\n case 20:\n _context4.next = 22;\n return _this9.fetchContributions({\n page: {\n size: 40\n }\n });\n\n case 22:\n _context4.next = 24;\n return _this9.updateMissingHistoricContributionsCount();\n\n case 24:\n return _context4.abrupt(\"return\", Promise.resolve());\n\n case 25:\n case \"end\":\n return _context4.stop();\n }\n }\n }, _callee4);\n }))();\n },\n updateMissingHistoricContributionsCount: function updateMissingHistoricContributionsCount() {\n var _this10 = this;\n\n return _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee5() {\n var contributionsCount;\n return regeneratorRuntime.wrap(function _callee5$(_context5) {\n while (1) {\n switch (_context5.prev = _context5.next) {\n case 0:\n _context5.next = 2;\n return _this10.kredits.Contribution.count;\n\n case 2:\n contributionsCount = _context5.sent;\n\n _this10.set('missingHistoricContributionsCount', contributionsCount - _this10.contributions.length);\n\n console.debug(\"Missing \".concat(_this10.missingHistoricContributionsCount, \" historic contributions (out of \").concat(contributionsCount, \" overall)\"));\n\n case 5:\n case \"end\":\n return _context5.stop();\n }\n }\n }, _callee5);\n }))();\n },\n addContributor: function addContributor(attributes) {\n if (attributes.github_uid) {\n var uidInt = parseInt(attributes.github_uid);\n attributes.github_uid = uidInt;\n }\n\n console.debug('[kredits] add contributor', attributes);\n return this.kredits.Contributor.add(attributes, {\n gasLimit: 350000\n }).then(function (data) {\n console.debug('[kredits] add contributor response', data);\n });\n },\n updateContributor: function updateContributor(id, attributes) {\n if (attributes.github_uid) {\n var uidInt = parseInt(attributes.github_uid);\n attributes.github_uid = uidInt;\n }\n\n console.debug('[kredits] update contributor', attributes);\n return this.kredits.Contributor.updateProfile(id, attributes, {\n gasLimit: 350000\n }).then(function (data) {\n console.debug('[kredits] updateProfile response', data);\n });\n },\n fetchContributor: function fetchContributor(id) {\n var _this11 = this;\n\n return _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee6() {\n return regeneratorRuntime.wrap(function _callee6$(_context6) {\n while (1) {\n switch (_context6.prev = _context6.next) {\n case 0:\n console.debug(\"[kredits] Fetching contributor from the network\");\n return _context6.abrupt(\"return\", _this11.kredits.Contributor.getById(id).then(function (data) {\n return _this11.loadContributorFromData(data);\n }));\n\n case 2:\n case \"end\":\n return _context6.stop();\n }\n }\n }, _callee6);\n }))();\n },\n fetchContributors: function fetchContributors() {\n var _this12 = this;\n\n console.debug(\"[kredits] Fetching all contributors from the network\");\n return this.kredits.Contributor.all().then(function (contributors) {\n return contributors.forEach(function (data) {\n _this12.loadContributorFromData(data);\n\n return;\n });\n }).then(function () {\n return _this12.cacheLoadedContributors();\n });\n },\n loadContributorFromData: function loadContributorFromData(data) {\n var contributor = _contributor.default.create((0, _processContributorData.default)(data));\n\n var loadedContributor = this.contributors.findBy('id', contributor.id);\n\n if (loadedContributor) {\n this.contributors.removeObject(loadedContributor);\n }\n\n this.contributors.pushObject(contributor);\n return contributor;\n },\n cacheLoadedContributors: function cacheLoadedContributors() {\n var _this13 = this;\n\n return _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee7() {\n var _iterator, _step, c;\n\n return regeneratorRuntime.wrap(function _callee7$(_context7) {\n while (1) {\n switch (_context7.prev = _context7.next) {\n case 0:\n _iterator = _createForOfIteratorHelper(_this13.contributors);\n _context7.prev = 1;\n\n _iterator.s();\n\n case 3:\n if ((_step = _iterator.n()).done) {\n _context7.next = 9;\n break;\n }\n\n c = _step.value;\n _context7.next = 7;\n return _this13.browserCache.contributors.setItem(c.id.toString(), c.serialize());\n\n case 7:\n _context7.next = 3;\n break;\n\n case 9:\n _context7.next = 14;\n break;\n\n case 11:\n _context7.prev = 11;\n _context7.t0 = _context7[\"catch\"](1);\n\n _iterator.e(_context7.t0);\n\n case 14:\n _context7.prev = 14;\n\n _iterator.f();\n\n return _context7.finish(14);\n\n case 17:\n console.debug(\"[kredits] Cached \".concat(_this13.contributors.length, \" contributors in browser storage\"));\n return _context7.abrupt(\"return\", Promise.resolve());\n\n case 19:\n case \"end\":\n return _context7.stop();\n }\n }\n }, _callee7, null, [[1, 11, 14, 17]]);\n }))();\n },\n loadContributorsFromCache: function loadContributorsFromCache() {\n var _this14 = this;\n\n return _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee8() {\n return regeneratorRuntime.wrap(function _callee8$(_context8) {\n while (1) {\n switch (_context8.prev = _context8.next) {\n case 0:\n return _context8.abrupt(\"return\", _this14.browserCache.contributors.iterate(function (value\n /*, key , iterationNumber */\n ) {\n _this14.contributors.pushObject(_contributor.default.create(JSON.parse(value)));\n }).then(function\n /* result */\n () {\n console.debug(\"[kredits] Loaded \".concat(_this14.contributors.length, \" contributors from cache\"));\n }));\n\n case 1:\n case \"end\":\n return _context8.stop();\n }\n }\n }, _callee8);\n }))();\n },\n syncContributors: (0, _emberConcurrency.task)( /*#__PURE__*/regeneratorRuntime.mark(function _callee9() {\n return regeneratorRuntime.wrap(function _callee9$(_context9) {\n while (1) {\n switch (_context9.prev = _context9.next) {\n case 0:\n _context9.next = 2;\n return this.fetchContributors();\n\n case 2:\n this.set('contributorsNeedSync', false);\n\n case 3:\n case \"end\":\n return _context9.stop();\n }\n }\n }, _callee9, this);\n })),\n addContribution: function addContribution(attributes) {\n var _this15 = this;\n\n console.debug('[kredits] Adding contribution', attributes);\n return this.kredits.Contribution.add(attributes, {\n gasLimit: 300000\n }).then(function (data) {\n console.debug('[kredits] Contribution.add response', data);\n attributes.contributor = _this15.contributors.findBy('id', attributes.contributorId);\n\n var contribution = _contribution.default.create(attributes);\n\n contribution.set('pendingTx', data);\n contribution.set('confirmedAtBlock', _this15.currentBlock + 40320);\n\n _this15.contributions.pushObject(contribution);\n\n return contribution;\n });\n },\n fetchContributions: function fetchContributions() {\n var _this16 = this;\n\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {\n page: {\n size: 200\n }\n };\n console.debug(\"[kredits] Fetching contributions from the network\");\n return this.kredits.Contribution.all(options).then(function (contributions) {\n return contributions.map(function (data) {\n var contribution = _this16.loadContributionFromData(data);\n\n return contribution;\n });\n }).then(function (contributions) {\n var cacheWrites = contributions.map(function (c) {\n return _this16.browserCache.contributions.setItem(c.id.toString(), c.serialize());\n });\n return Promise.all(cacheWrites).then(function () {\n console.debug(\"[kredits] Cached \".concat(contributions.length, \" contributions in browser storage\"));\n });\n });\n },\n loadContributionFromData: function loadContributionFromData(data) {\n var contribution = _contribution.default.create((0, _processContributionData.default)(data));\n\n contribution.set('contributor', this.contributors.findBy('id', data.contributorId));\n var loadedContribution = this.contributions.findBy('id', contribution.id);\n\n if (loadedContribution) {\n this.contributions.removeObject(loadedContribution);\n }\n\n this.contributions.pushObject(contribution);\n return contribution;\n },\n cacheLoadedContributions: function cacheLoadedContributions() {\n var _this17 = this;\n\n return _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee10() {\n var _iterator2, _step2, c;\n\n return regeneratorRuntime.wrap(function _callee10$(_context10) {\n while (1) {\n switch (_context10.prev = _context10.next) {\n case 0:\n _iterator2 = _createForOfIteratorHelper(_this17.contributions);\n _context10.prev = 1;\n\n _iterator2.s();\n\n case 3:\n if ((_step2 = _iterator2.n()).done) {\n _context10.next = 9;\n break;\n }\n\n c = _step2.value;\n _context10.next = 7;\n return _this17.browserCache.contributions.setItem(c.id.toString(), c.serialize());\n\n case 7:\n _context10.next = 3;\n break;\n\n case 9:\n _context10.next = 14;\n break;\n\n case 11:\n _context10.prev = 11;\n _context10.t0 = _context10[\"catch\"](1);\n\n _iterator2.e(_context10.t0);\n\n case 14:\n _context10.prev = 14;\n\n _iterator2.f();\n\n return _context10.finish(14);\n\n case 17:\n console.debug(\"[kredits] Cached \".concat(_this17.contributions.length, \" contributions in browser storage\"));\n return _context10.abrupt(\"return\", Promise.resolve());\n\n case 19:\n case \"end\":\n return _context10.stop();\n }\n }\n }, _callee10, null, [[1, 11, 14, 17]]);\n }))();\n },\n loadContributionsFromCache: function loadContributionsFromCache() {\n var _this18 = this;\n\n return _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee11() {\n return regeneratorRuntime.wrap(function _callee11$(_context11) {\n while (1) {\n switch (_context11.prev = _context11.next) {\n case 0:\n return _context11.abrupt(\"return\", _this18.browserCache.contributions.iterate(function (value\n /*, key , iterationNumber */\n ) {\n _this18.contributions.pushObject(_contribution.default.create(JSON.parse(value)));\n }).then(function\n /* result */\n () {\n console.debug(\"[kredits] Loaded \".concat(_this18.contributions.length, \" contributions from cache\"));\n }));\n\n case 1:\n case \"end\":\n return _context11.stop();\n }\n }\n }, _callee11);\n }))();\n },\n contributionTasks: (0, _emberConcurrency.taskGroup)().enqueue(),\n syncContributions: (0, _emberConcurrency.task)( /*#__PURE__*/regeneratorRuntime.mark(function _callee12() {\n return regeneratorRuntime.wrap(function _callee12$(_context12) {\n while (1) {\n switch (_context12.prev = _context12.next) {\n case 0:\n _context12.next = 2;\n return this.fetchNewContributions.perform();\n\n case 2:\n _context12.next = 4;\n return this.syncUnconfirmedContributions.perform();\n\n case 4:\n _context12.next = 6;\n return this.updateMissingHistoricContributionsCount();\n\n case 6:\n this.set('contributionsNeedSync', false);\n\n case 7:\n case \"end\":\n return _context12.stop();\n }\n }\n }, _callee12, this);\n })).group('contributionTasks'),\n fetchNewContributions: (0, _emberConcurrency.task)( /*#__PURE__*/regeneratorRuntime.mark(function _callee13() {\n var count, lastKnownContributionId, toFetch, id, data, c;\n return regeneratorRuntime.wrap(function _callee13$(_context13) {\n while (1) {\n switch (_context13.prev = _context13.next) {\n case 0:\n _context13.next = 2;\n return this.kredits.Contribution.count;\n\n case 2:\n count = _context13.sent;\n lastKnownContributionId = Math.max.apply(null, this.contributions.mapBy('id'));\n toFetch = count - lastKnownContributionId;\n\n if (!(toFetch > 0)) {\n _context13.next = 20;\n break;\n }\n\n console.debug(\"[kredits] Fetching \".concat(toFetch, \" new contributions\"));\n id = lastKnownContributionId;\n\n case 8:\n if (!(id <= count)) {\n _context13.next = 18;\n break;\n }\n\n _context13.next = 11;\n return this.kredits.Contribution.getById(id);\n\n case 11:\n data = _context13.sent;\n c = this.loadContributionFromData(data);\n _context13.next = 15;\n return this.browserCache.contributions.setItem(c.id.toString(), c.serialize());\n\n case 15:\n id++;\n _context13.next = 8;\n break;\n\n case 18:\n _context13.next = 21;\n break;\n\n case 20:\n console.debug(\"[kredits] No new contributions to fetch\");\n\n case 21:\n case \"end\":\n return _context13.stop();\n }\n }\n }, _callee13, this);\n })),\n fetchMissingContributions: (0, _emberConcurrency.task)( /*#__PURE__*/regeneratorRuntime.mark(function _callee14() {\n var count, allIds, loadedContributions, toFetch, countFetched, id, data, c;\n return regeneratorRuntime.wrap(function _callee14$(_context14) {\n while (1) {\n switch (_context14.prev = _context14.next) {\n case 0:\n _context14.next = 2;\n return this.kredits.Contribution.count;\n\n case 2:\n count = _context14.sent;\n allIds = _toConsumableArray(Array(count + 1).keys());\n allIds.shift(); // remove first item, which is 0\n\n loadedContributions = new Set(this.contributions.mapBy('id'));\n toFetch = allIds.filter(function (id) {\n return !loadedContributions.has(id);\n });\n\n if (!(toFetch.length === 0)) {\n _context14.next = 10;\n break;\n }\n\n console.debug(\"[kredits] No contributions left to fetch\");\n return _context14.abrupt(\"return\");\n\n case 10:\n console.debug(\"[kredits] Fetching \".concat(toFetch.length, \" past contributions\"));\n countFetched = 0;\n id = count;\n\n case 13:\n if (!(id > 0)) {\n _context14.next = 29;\n break;\n }\n\n if (!loadedContributions.has(id)) {\n _context14.next = 18;\n break;\n }\n\n return _context14.abrupt(\"continue\", 26);\n\n case 18:\n _context14.next = 20;\n return this.kredits.Contribution.getById(id);\n\n case 20:\n data = _context14.sent;\n c = this.loadContributionFromData(data);\n _context14.next = 24;\n return this.browserCache.contributions.setItem(c.id.toString(), c.serialize());\n\n case 24:\n countFetched++;\n\n if (countFetched % 20 === 0) {\n console.debug(\"[kredits] Fetched \".concat(countFetched, \" more contributions\"));\n }\n\n case 26:\n id--;\n _context14.next = 13;\n break;\n\n case 29:\n console.debug(\"[kredits] Cached \".concat(countFetched, \" past contributions\"));\n\n case 30:\n case \"end\":\n return _context14.stop();\n }\n }\n }, _callee14, this);\n })).group('contributionTasks'),\n syncUnconfirmedContributions: (0, _emberConcurrency.task)( /*#__PURE__*/regeneratorRuntime.mark(function _callee15() {\n var _iterator3, _step3, c, data, contribution;\n\n return regeneratorRuntime.wrap(function _callee15$(_context15) {\n while (1) {\n switch (_context15.prev = _context15.next) {\n case 0:\n if (!(this.contributionsUnconfirmed.length > 0)) {\n _context15.next = 25;\n break;\n }\n\n console.debug(\"[kredits] Syncing unconfirmed contributions\");\n _iterator3 = _createForOfIteratorHelper(this.contributionsUnconfirmed);\n _context15.prev = 3;\n\n _iterator3.s();\n\n case 5:\n if ((_step3 = _iterator3.n()).done) {\n _context15.next = 15;\n break;\n }\n\n c = _step3.value;\n _context15.next = 9;\n return this.kredits.Contribution.getById(c.id);\n\n case 9:\n data = _context15.sent;\n contribution = this.loadContributionFromData(data);\n _context15.next = 13;\n return this.browserCache.contributions.setItem(c.id.toString(), contribution.serialize());\n\n case 13:\n _context15.next = 5;\n break;\n\n case 15:\n _context15.next = 20;\n break;\n\n case 17:\n _context15.prev = 17;\n _context15.t0 = _context15[\"catch\"](3);\n\n _iterator3.e(_context15.t0);\n\n case 20:\n _context15.prev = 20;\n\n _iterator3.f();\n\n return _context15.finish(20);\n\n case 23:\n _context15.next = 26;\n break;\n\n case 25:\n console.debug(\"[kredits] No unconfirmed contributions to sync\");\n\n case 26:\n case \"end\":\n return _context15.stop();\n }\n }\n }, _callee15, this, [[3, 17, 20, 23]]);\n })),\n veto: function veto(contributionId) {\n console.debug('[kredits] veto against', contributionId);\n var contribution = this.contributions.findBy('id', contributionId);\n return this.kredits.Contribution.functions.veto(contributionId, {\n gasLimit: 300000\n }).then(function (data) {\n console.debug('[kredits] veto response', data);\n contribution.set('pendingTx', data);\n return data;\n });\n },\n //\n // Generic data handling (for objects that can be vetoed)\n //\n fetchObjects: function fetchObjects(objectClass) {\n var _this19 = this;\n\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n page: {\n size: 200\n }\n };\n var objectClassLowerCase = objectClass.toLowerCase();\n console.debug(\"[kredits] Fetching \".concat(objectClassLowerCase, \"s from the network\"));\n return this.kredits[objectClass].all(options).then(function (objects) {\n return objects.map(function (data) {\n var classInstance = _this19[\"load\".concat(objectClass, \"FromData\")](data);\n\n return classInstance;\n });\n }).then(function (objects) {\n var cacheWrites = objects.map(function (o) {\n return _this19.browserCache[objectClassLowerCase + 's'].setItem(o.id.toString(), o.serialize());\n });\n return Promise.all(cacheWrites).then(function () {\n console.debug(\"[kredits] Cached \".concat(objects.length, \" \").concat(objectClassLowerCase + 's', \" in browser storage\"));\n });\n });\n },\n removeObjectFromCollectionIfLoaded: function removeObjectFromCollectionIfLoaded(collection, objectId) {\n var loadedObj = this[collection].findBy('id', objectId);\n\n if (loadedObj) {\n this[collection].removeObject(loadedObj);\n }\n },\n cacheLoadedObjects: function cacheLoadedObjects(collection) {\n var _this20 = this;\n\n return _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee16() {\n var _iterator4, _step4, o;\n\n return regeneratorRuntime.wrap(function _callee16$(_context16) {\n while (1) {\n switch (_context16.prev = _context16.next) {\n case 0:\n _iterator4 = _createForOfIteratorHelper(_this20[collection]);\n _context16.prev = 1;\n\n _iterator4.s();\n\n case 3:\n if ((_step4 = _iterator4.n()).done) {\n _context16.next = 9;\n break;\n }\n\n o = _step4.value;\n _context16.next = 7;\n return _this20.browserCache[collection].setItem(o.id, o.serialize());\n\n case 7:\n _context16.next = 3;\n break;\n\n case 9:\n _context16.next = 14;\n break;\n\n case 11:\n _context16.prev = 11;\n _context16.t0 = _context16[\"catch\"](1);\n\n _iterator4.e(_context16.t0);\n\n case 14:\n _context16.prev = 14;\n\n _iterator4.f();\n\n return _context16.finish(14);\n\n case 17:\n console.debug(\"[kredits] Cached \".concat(_this20[collection].length, \" \").concat(collection, \" in browser storage\"));\n\n case 18:\n case \"end\":\n return _context16.stop();\n }\n }\n }, _callee16, null, [[1, 11, 14, 17]]);\n }))();\n },\n loadObjectsFromCache: function loadObjectsFromCache(objectClass) {\n var _this21 = this;\n\n return _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee17() {\n var collection;\n return regeneratorRuntime.wrap(function _callee17$(_context17) {\n while (1) {\n switch (_context17.prev = _context17.next) {\n case 0:\n collection = objectClass.toLowerCase() + 's';\n return _context17.abrupt(\"return\", _this21.browserCache[collection].iterate(function (value\n /*, key , iterationNumber */\n ) {\n var obj = models[objectClass].create(JSON.parse(value));\n\n _this21.removeObjectFromCollectionIfLoaded(collection, obj.id);\n\n _this21[collection].pushObject(obj);\n }).then(function\n /* result */\n () {\n console.debug(\"[kredits] Loaded \".concat(_this21[collection].length, \" \").concat(collection, \" from cache\"));\n }));\n\n case 2:\n case \"end\":\n return _context17.stop();\n }\n }\n }, _callee17);\n }))();\n },\n syncTaskGroup: (0, _emberConcurrency.taskGroup)().enqueue(),\n fetchNewObjects: (0, _emberConcurrency.task)( /*#__PURE__*/regeneratorRuntime.mark(function _callee18(objectClass) {\n var collection, count, lastKnownObjectId, toFetch, id, data, o;\n return regeneratorRuntime.wrap(function _callee18$(_context18) {\n while (1) {\n switch (_context18.prev = _context18.next) {\n case 0:\n collection = objectClass.toLowerCase() + 's';\n _context18.next = 3;\n return this.kredits[objectClass].functions[\"\".concat(collection, \"Count\")]();\n\n case 3:\n count = _context18.sent;\n lastKnownObjectId = Math.max.apply(null, this[collection].mapBy('id'));\n toFetch = count - lastKnownObjectId;\n\n if (!(toFetch > 0)) {\n _context18.next = 21;\n break;\n }\n\n console.debug(\"[kredits] Fetching \".concat(toFetch, \" new \").concat(collection));\n id = lastKnownObjectId;\n\n case 9:\n if (!(id <= count)) {\n _context18.next = 19;\n break;\n }\n\n _context18.next = 12;\n return this.kredits[objectClass].getById(id);\n\n case 12:\n data = _context18.sent;\n o = this[\"load\".concat(objectClass, \"FromData\")](data);\n _context18.next = 16;\n return this.browserCache[collection].setItem(o.id.toString(), o.serialize());\n\n case 16:\n id++;\n _context18.next = 9;\n break;\n\n case 19:\n _context18.next = 22;\n break;\n\n case 21:\n console.debug(\"[kredits] No new \".concat(collection, \" to fetch\"));\n\n case 22:\n case \"end\":\n return _context18.stop();\n }\n }\n }, _callee18, this);\n })),\n fetchMissingObjects: (0, _emberConcurrency.task)( /*#__PURE__*/regeneratorRuntime.mark(function _callee19(objectClass) {\n var collection, count, allIds, loadedObjects, toFetch, countFetched, id, data, o;\n return regeneratorRuntime.wrap(function _callee19$(_context19) {\n while (1) {\n switch (_context19.prev = _context19.next) {\n case 0:\n collection = objectClass.toLowerCase() + 's';\n _context19.next = 3;\n return this.kredits[objectClass].functions[\"\".concat(collection, \"Count\")]();\n\n case 3:\n count = _context19.sent;\n allIds = _toConsumableArray(Array(count + 1).keys());\n allIds.shift(); // remove first item, which is 0\n\n loadedObjects = new Set(this[collection].mapBy('id'));\n toFetch = allIds.filter(function (id) {\n return !loadedObjects.has(id);\n });\n\n if (!(toFetch.length === 0)) {\n _context19.next = 11;\n break;\n }\n\n console.debug(\"[kredits] No \".concat(collection, \" left to fetch\"));\n return _context19.abrupt(\"return\");\n\n case 11:\n console.debug(\"[kredits] Fetching \".concat(toFetch.length, \" past \").concat(collection));\n countFetched = 0;\n id = count;\n\n case 14:\n if (!(id > 0)) {\n _context19.next = 30;\n break;\n }\n\n if (!loadedObjects.has(id)) {\n _context19.next = 19;\n break;\n }\n\n return _context19.abrupt(\"continue\", 27);\n\n case 19:\n _context19.next = 21;\n return this.kredits[objectClass].getById(id);\n\n case 21:\n data = _context19.sent;\n o = this[\"load\".concat(objectClass, \"FromData\")](data);\n _context19.next = 25;\n return this.browserCache[collection].setItem(o.id.toString(), o.serialize());\n\n case 25:\n countFetched++;\n\n if (countFetched % 20 === 0) {\n console.debug(\"[kredits] Fetched \".concat(countFetched, \" more \").concat(collection));\n }\n\n case 27:\n id--;\n _context19.next = 14;\n break;\n\n case 30:\n console.debug(\"[kredits] Cached \".concat(countFetched, \" past \").concat(collection));\n\n case 31:\n case \"end\":\n return _context19.stop();\n }\n }\n }, _callee19, this);\n })),\n syncUnconfirmedObjects: (0, _emberConcurrency.task)( /*#__PURE__*/regeneratorRuntime.mark(function _callee20(objectClass) {\n var collection, _iterator5, _step5, o, data, object;\n\n return regeneratorRuntime.wrap(function _callee20$(_context20) {\n while (1) {\n switch (_context20.prev = _context20.next) {\n case 0:\n collection = objectClass.toLowerCase() + 's';\n\n if (!(this.get(\"\".concat(collection, \"Unconfirmed\")).length > 0)) {\n _context20.next = 28;\n break;\n }\n\n console.debug(\"[kredits] Syncing unconfirmed \".concat(collection));\n _iterator5 = _createForOfIteratorHelper(this[\"\".concat(collection, \"Unconfirmed\")]);\n _context20.prev = 4;\n\n _iterator5.s();\n\n case 6:\n if ((_step5 = _iterator5.n()).done) {\n _context20.next = 18;\n break;\n }\n\n o = _step5.value;\n\n if (!Ember.isEmpty(o.id)) {\n _context20.next = 10;\n break;\n }\n\n return _context20.abrupt(\"return\");\n\n case 10:\n _context20.next = 12;\n return this.kredits[objectClass].getById(o.id);\n\n case 12:\n data = _context20.sent;\n object = this[\"load\".concat(objectClass, \"FromData\")](data);\n _context20.next = 16;\n return this.browserCache[collection].setItem(o.id.toString(), object.serialize());\n\n case 16:\n _context20.next = 6;\n break;\n\n case 18:\n _context20.next = 23;\n break;\n\n case 20:\n _context20.prev = 20;\n _context20.t0 = _context20[\"catch\"](4);\n\n _iterator5.e(_context20.t0);\n\n case 23:\n _context20.prev = 23;\n\n _iterator5.f();\n\n return _context20.finish(23);\n\n case 26:\n _context20.next = 29;\n break;\n\n case 28:\n console.debug(\"[kredits] No unconfirmed \".concat(collection, \" to sync\"));\n\n case 29:\n case \"end\":\n return _context20.stop();\n }\n }\n }, _callee20, this, [[4, 20, 23, 26]]);\n })),\n vetoAgainstObject: function vetoAgainstObject(objectClass, objectId) {\n console.debug(\"[kredits] veto against \".concat(objectClass.toLowerCase()), objectId);\n var collection = objectClass.toLowerCase() + 's';\n var object = this[collection].findBy('id', objectId);\n return this.kredits[objectClass].functions.veto(objectId, {\n gasLimit: 300000\n }).then(function (data) {\n console.debug('[kredits] veto response', data);\n object.set('pendingTx', data);\n return data;\n });\n },\n //\n // Reimbursements\n //\n loadReimbursementFromData: function loadReimbursementFromData(data) {\n var obj = _reimbursement.default.create((0, _processReimbursementData.default)(data));\n\n obj.set('contributor', this.contributors.findBy('id', data.recipientId));\n this.removeObjectFromCollectionIfLoaded('reimbursements', obj.id);\n this.reimbursements.pushObject(obj);\n return obj;\n },\n addReimbursement: function addReimbursement(attributes) {\n var _this22 = this;\n\n console.debug('[kredits] add reimbursement', attributes);\n return this.kredits.Reimbursement.add(attributes, {\n gasLimit: 300000\n }).then(function (data) {\n console.debug('[kredits] add reimbursement response', data);\n\n var reimbursement = _reimbursement.default.create(attributes);\n\n reimbursement.setProperties({\n contributor: _this22.contributors.findBy('id', attributes.recipientId),\n pendingTx: data,\n confirmedAt: _this22.currentBlock + 40320\n });\n\n _this22.reimbursements.pushObject(reimbursement); // Listen to tx mining/execution status\n\n\n data.wait().then(function (d) {\n return console.debug('[kredits] tx successful', d);\n }).catch(function (e) {\n window.alert('The transaction failed to execute. Please check the browser console.');\n console.log('[kredits] tx error', e);\n });\n return reimbursement;\n });\n },\n syncReimbursements: (0, _emberConcurrency.task)( /*#__PURE__*/regeneratorRuntime.mark(function _callee21() {\n return regeneratorRuntime.wrap(function _callee21$(_context21) {\n while (1) {\n switch (_context21.prev = _context21.next) {\n case 0:\n _context21.next = 2;\n return this.fetchNewObjects.perform('Reimbursement');\n\n case 2:\n _context21.next = 4;\n return this.syncUnconfirmedObjects.perform('Reimbursement');\n\n case 4:\n this.set('reimbursementsNeedSync', false);\n\n case 5:\n case \"end\":\n return _context21.stop();\n }\n }\n }, _callee21, this);\n })).group('syncTaskGroup'),\n fetchMissingReimbursements: (0, _emberConcurrency.task)( /*#__PURE__*/regeneratorRuntime.mark(function _callee22() {\n return regeneratorRuntime.wrap(function _callee22$(_context22) {\n while (1) {\n switch (_context22.prev = _context22.next) {\n case 0:\n _context22.next = 2;\n return this.fetchMissingObjects.perform('Reimbursement');\n\n case 2:\n case \"end\":\n return _context22.stop();\n }\n }\n }, _callee22, this);\n })).group('syncTaskGroup'),\n vetoReimbursement: function vetoReimbursement(id) {\n console.debug('[kredits] veto against reimbursement', id);\n var reimbursement = this.reimbursements.findBy('id', id);\n return this.kredits.Reimbursement.functions.veto(id, {\n gasLimit: 300000\n }).then(function (data) {\n console.debug('[kredits] veto response', data);\n reimbursement.set('pendingTx', data);\n return data;\n });\n },\n //\n // Contract events\n //\n addContractEventHandlers: function addContractEventHandlers() {\n this.kredits.Contributor.on('ContributorProfileUpdated', this.handleContributorChange.bind(this)).on('ContributorAccountUpdated', this.handleContributorChange.bind(this)).on('ContributorAdded', this.handleContributorChange.bind(this));\n this.kredits.Contribution.on('ContributionAdded', this.handleContributionAdded.bind(this)).on('ContributionVetoed', this.handleContributionVetoed.bind(this));\n this.kredits.Reimbursement.on('ReimbursementAdded', this.handleReimbursementAdded.bind(this)).on('ReimbursementVetoed', this.handleReimbursementVetoed.bind(this));\n this.kredits.Token.on('Transfer', this.handleTransfer.bind(this));\n },\n handleContributorChange: function handleContributorChange(contributorId) {\n var _arguments = arguments,\n _this23 = this;\n\n return _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee23() {\n var _len, args, _key, contributorData, newContributor, oldContributor;\n\n return regeneratorRuntime.wrap(function _callee23$(_context23) {\n while (1) {\n switch (_context23.prev = _context23.next) {\n case 0:\n console.debug('[kredits] Contributor add/update event received for ID', contributorId);\n\n for (_len = _arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = _arguments[_key];\n }\n\n console.debug('[kredits] Event data:', args);\n _context23.next = 5;\n return _this23.kredits.Contributor.getById(contributorId);\n\n case 5:\n contributorData = _context23.sent;\n newContributor = _contributor.default.create(contributorData); // TODO check for actual differences in the contributor data first\n\n oldContributor = _this23.contributors.findBy('id', contributorId);\n\n if (oldContributor) {\n // console.debug('[kredits] cached contributor', oldContributor);\n _this23.contributors.removeObject(oldContributor);\n } // console.debug('[kredits] incoming contributor data', newContributor);\n\n\n _this23.contributors.pushObject(newContributor);\n\n case 10:\n case \"end\":\n return _context23.stop();\n }\n }\n }, _callee23);\n }))();\n },\n handleContributionAdded: function handleContributionAdded(id, contributorId, amount) {\n var _this24 = this;\n\n return _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee24() {\n var pendingContribution, data, c;\n return regeneratorRuntime.wrap(function _callee24$(_context24) {\n while (1) {\n switch (_context24.prev = _context24.next) {\n case 0:\n console.debug('[kredits] ContributionAdded event received', {\n id: id,\n contributorId: contributorId,\n amount: amount\n });\n pendingContribution = _this24.contributions.find(function (c) {\n return c.id === null && c.contributorId === contributorId && c.amount.toString() === amount.toString();\n });\n\n if (pendingContribution) {\n _this24.contributions.removeObject(pendingContribution);\n }\n\n _context24.next = 5;\n return _this24.kredits.Contribution.getById(id);\n\n case 5:\n data = _context24.sent;\n c = _this24.loadContributionFromData(data);\n _context24.next = 9;\n return _this24.browserCache.contributions.setItem(c.id.toString(), c.serialize());\n\n case 9:\n case \"end\":\n return _context24.stop();\n }\n }\n }, _callee24);\n }))();\n },\n handleContributionVetoed: function handleContributionVetoed(contributionId) {\n var _this25 = this;\n\n return _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee25() {\n var c;\n return regeneratorRuntime.wrap(function _callee25$(_context25) {\n while (1) {\n switch (_context25.prev = _context25.next) {\n case 0:\n console.debug('[kredits] ContributionVetoed event received for #', contributionId);\n c = _this25.contributions.findBy('id', contributionId);\n\n if (!c) {\n _context25.next = 8;\n break;\n }\n\n console.debug('[kredits] Updating contribution', c);\n c.set('vetoed', true);\n c.set('pendingTx', null);\n _context25.next = 8;\n return _this25.browserCache.contributions.setItem(c.id.toString(), c.serialize());\n\n case 8:\n case \"end\":\n return _context25.stop();\n }\n }\n }, _callee25);\n }))();\n },\n handleReimbursementAdded: function handleReimbursementAdded(id, addedByAccount, amount) {\n var _this26 = this;\n\n return _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee26() {\n var pendingReimbursement, data, r;\n return regeneratorRuntime.wrap(function _callee26$(_context26) {\n while (1) {\n switch (_context26.prev = _context26.next) {\n case 0:\n console.debug('[kredits] ReimbursementAdded event received', {\n id: id,\n addedByAccount: addedByAccount,\n amount: amount\n });\n pendingReimbursement = _this26.reimbursementsPending.find(function (r) {\n return r.amount.toString() === amount.toString();\n });\n\n if (pendingReimbursement) {\n console.debug('[kredits] Found a pending reimbursement matching the event. Replacing it with the final record...');\n\n _this26.reimbursements.removeObject(pendingReimbursement);\n }\n\n _context26.next = 5;\n return _this26.kredits.Reimbursement.getById(id);\n\n case 5:\n data = _context26.sent;\n r = _this26.loadReimbursementFromData(data);\n\n _this26.browserCache.reimbursements.setItem(r.id.toString(), r.serialize());\n\n case 8:\n case \"end\":\n return _context26.stop();\n }\n }\n }, _callee26);\n }))();\n },\n handleReimbursementVetoed: function handleReimbursementVetoed(id) {\n var _this27 = this;\n\n return _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee27() {\n var r;\n return regeneratorRuntime.wrap(function _callee27$(_context27) {\n while (1) {\n switch (_context27.prev = _context27.next) {\n case 0:\n console.debug(\"[kredits] ReimbursementVetoed received for #\".concat(id));\n r = _this27.reimbursements.findBy('id', id);\n console.debug('[kredits] reimbursement', r);\n\n if (r) {\n r.set('vetoed', true);\n r.set('pendingTx', null);\n\n _this27.browserCache.reimbursements.setItem(r.id.toString(), r.serialize());\n }\n\n case 4:\n case \"end\":\n return _context27.stop();\n }\n }\n }, _callee27);\n }))();\n },\n handleTransfer: function handleTransfer(from, to, value) {\n value = value.toNumber();\n this.contributors.findBy('address', from).decrementProperty('balance', value);\n this.contributors.findBy('address', to).incrementProperty('balance', value);\n }\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/services/moment\", [\"exports\", \"ember-moment/services/moment\", \"kredits-web/config/environment\"], function (_exports, _moment, _environment) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n var get = Ember.get;\n\n var _default = _moment.default.extend({\n defaultFormat: get(_environment.default, 'moment.outputFormat')\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/templates/application-loading\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.HTMLBars.template({\n \"id\": \"rH2U9nfi\",\n \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[8,\\\"loading-spinner\\\",[],[[],[]],null],[2,\\\"\\\\n\\\"]],\\\"hasEval\\\":false,\\\"upvars\\\":[]}\",\n \"meta\": {\n \"moduleName\": \"kredits-web/templates/application-loading.hbs\"\n }\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/templates/application\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.HTMLBars.template({\n \"id\": \"v+/8V/ng\",\n \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[10,\\\"header\\\"],[14,1,\\\"topbar\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"h1\\\"],[12],[8,\\\"link-to\\\",[],[[\\\"@route\\\"],[\\\"dashboard\\\"]],[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\"Kosmos Kredits\\\"]],\\\"parameters\\\":[]}]]],[13],[2,\\\"\\\\n \\\"],[8,\\\"topbar-account-panel\\\",[],[[],[]],null],[2,\\\"\\\\n\\\"],[13],[2,\\\"\\\\n\\\\n\\\"],[1,[30,[36,1],[[30,[36,0],null,null]],null]],[2,\\\"\\\\n\\\"]],\\\"hasEval\\\":false,\\\"upvars\\\":[\\\"-outlet\\\",\\\"component\\\"]}\",\n \"meta\": {\n \"moduleName\": \"kredits-web/templates/application.hbs\"\n }\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/templates/budget\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.HTMLBars.template({\n \"id\": \"7cWkGD9u\",\n \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[10,\\\"main\\\"],[14,1,\\\"budget\\\"],[12],[2,\\\"\\\\n\\\\n \\\"],[10,\\\"div\\\"],[14,1,\\\"aside\\\"],[12],[2,\\\"\\\\n \\\"],[3,\\\"
\\\"],[2,\\\"\\\\n \\\"],[3,\\\"
\\\"],[2,\\\"\\\\n \\\"],[3,\\\"

Budget

\\\"],[2,\\\"\\\\n \\\"],[3,\\\"
\\\"],[2,\\\"\\\\n \\\"],[3,\\\"
\\\"],[2,\\\"\\\\n \\\"],[3,\\\"
    \\\"],[2,\\\"\\\\n \\\"],[3,\\\"
  • \\\"],[2,\\\"\\\\n \\\"],[3,\\\" Expenses \\\"],[2,\\\"\\\\n \\\"],[3,\\\"
  • \\\"],[2,\\\"\\\\n \\\"],[3,\\\"
  • \\\"],[2,\\\"\\\\n \\\"],[3,\\\" Rewards \\\"],[2,\\\"\\\\n \\\"],[3,\\\"
  • \\\"],[2,\\\"\\\\n \\\"],[3,\\\"
\\\"],[2,\\\"\\\\n \\\"],[3,\\\"
\\\"],[2,\\\"\\\\n \\\"],[3,\\\"
\\\"],[2,\\\"\\\\n\\\\n \\\"],[10,\\\"section\\\"],[14,1,\\\"funds\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"header\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"h2\\\"],[12],[2,\\\"Community funds\\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"div\\\"],[14,0,\\\"content\\\"],[12],[2,\\\"\\\\n \\\"],[8,\\\"budget-balances\\\",[],[[],[]],null],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n\\\\n \\\"],[10,\\\"div\\\"],[14,1,\\\"content\\\"],[12],[2,\\\"\\\\n\\\"],[6,[37,0],[[32,0,[\\\"reimbursementsUnconfirmed\\\"]]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\" \\\"],[10,\\\"section\\\"],[14,1,\\\"expenses-unconfirmed\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"header\\\"],[14,0,\\\"with-nav\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"h2\\\"],[12],[2,\\\"Proposed Reimbursements\\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"nav\\\"],[12],[2,\\\"\\\\n \\\"],[8,\\\"link-to\\\",[[24,0,\\\"button small green\\\"]],[[\\\"@route\\\",\\\"@title\\\"],[\\\"reimbursements.new\\\",\\\"Submit a reimbursement\\\"]],[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\"add\\\"]],\\\"parameters\\\":[]}]]],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"div\\\"],[14,0,\\\"content\\\"],[12],[2,\\\"\\\\n \\\"],[8,\\\"reimbursement-list\\\",[],[[\\\"@items\\\"],[[32,0,[\\\"reimbursementsUnconfirmed\\\"]]]],null],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]]],[2,\\\"\\\\n\\\"],[6,[37,0],[[32,0,[\\\"reimbursementsConfirmed\\\"]]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\" \\\"],[10,\\\"section\\\"],[14,1,\\\"expenses-confirmed\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"header\\\"],[14,0,\\\"with-nav\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"h2\\\"],[12],[2,\\\"Confirmed Expenses\\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"nav\\\"],[12],[2,\\\"\\\\n \\\"],[8,\\\"link-to\\\",[[24,0,\\\"button small green\\\"]],[[\\\"@route\\\",\\\"@title\\\"],[\\\"reimbursements.new\\\",\\\"Submit a reimbursement\\\"]],[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\"add\\\"]],\\\"parameters\\\":[]}]]],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"div\\\"],[14,0,\\\"content\\\"],[12],[2,\\\"\\\\n \\\"],[8,\\\"reimbursement-list\\\",[],[[\\\"@items\\\"],[[32,0,[\\\"reimbursementsConfirmed\\\"]]]],null],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]]],[2,\\\" \\\"],[13],[2,\\\"\\\\n\\\\n \\\"],[10,\\\"div\\\"],[14,1,\\\"empty\\\"],[12],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n\\\\n\\\"],[13]],\\\"hasEval\\\":false,\\\"upvars\\\":[\\\"if\\\"]}\",\n \"meta\": {\n \"moduleName\": \"kredits-web/templates/budget.hbs\"\n }\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/templates/budget/expenses\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.HTMLBars.template({\n \"id\": \"GPyv0u4G\",\n \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[1,[30,[36,1],[[30,[36,0],null,null]],null]]],\\\"hasEval\\\":false,\\\"upvars\\\":[\\\"-outlet\\\",\\\"component\\\"]}\",\n \"meta\": {\n \"moduleName\": \"kredits-web/templates/budget/expenses.hbs\"\n }\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/templates/components/icon-account-gitea-kosmos-org\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.HTMLBars.template({\n \"id\": \"i2/ZI1CX\",\n \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[10,\\\"svg\\\"],[14,0,\\\"icon-gitea\\\"],[14,\\\"width\\\",\\\"400\\\"],[14,\\\"height\\\",\\\"400\\\"],[14,\\\"version\\\",\\\"1.1\\\"],[14,\\\"viewBox\\\",\\\"0 0 400 400\\\"],[14,\\\"xmlns\\\",\\\"http://www.w3.org/2000/svg\\\",\\\"http://www.w3.org/2000/xmlns/\\\"],[14,\\\"xmlns:cc\\\",\\\"http://creativecommons.org/ns#\\\"],[14,\\\"xmlns:dc\\\",\\\"http://purl.org/dc/elements/1.1/\\\"],[14,\\\"xmlns:rdf\\\",\\\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"g\\\"],[14,\\\"fill-rule\\\",\\\"evenodd\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"path\\\"],[14,\\\"d\\\",\\\"m235.61 136.7 7e-3 32.7 4.493 2.189c2.471 1.204 4.628 2.25 4.793 2.324s0.3-15.626 0.3-34.889v-35.024h-9.6l7e-3 32.7m-22.336 30.528c-2.787 0.548-5.894 2.175-8.11 4.244-2.296 2.145-1.694 0.967-24.197 47.328l-11.164 23v4.6c0 4.305 0.076 4.75 1.185 6.942 2.815 5.56 1.055 4.606 69.415 37.629l4.2 2.029h4.221c10.104 0 11.144-1.319 26.676-33.8 0.999-2.09 4.15-8.57 7.001-14.4s6.916-14.2 9.033-18.6l3.849-8 0.01-4.219c0.02-8.49-2.644-11.721-14.326-17.371-4.215-2.038-11.264-5.461-15.664-7.606-15.241-7.429-22.802-11.07-23.125-11.137-0.418-0.086-1.177 1.299-5.112 9.333l-3.234 6.6 1.19 2.2c0.654 1.21 1.308 3.038 1.454 4.063l0.265 1.862 5.747 2.8c22.047 10.742 22.975 15.314 9.007 44.377l-3.317 6.902 1.162 2.098c3.865 6.974-0.923 15.098-8.898 15.098-12.557 0-13.717-18.335-1.278-20.2l1.842-0.276 3.101-6.462c12.037-25.079 11.953-25.952-3.232-33.53l-7.333-3.659-2.319 1.032c-1.276 0.567-3.151 1.153-4.167 1.301l-1.848 0.269-6.785 13.855-6.786 13.854 1.109 1.747c6.109 9.633-5.532 20.771-14.552 13.924-6.729-5.108-4.39-16.742 3.633-18.073 0.812-0.134 1.71-0.318 1.996-0.408 0.429-0.136 6.592-12.372 13.118-26.044l1.37-2.87-0.782-1.33c-3.586-6.099 0.331-14.253 7.353-15.306l1.683-0.252 3.969-8.045c2.183-4.425 4.019-8.168 4.08-8.319s-2.979-1.758-6.755-3.571c-8.092-3.885-10.4-4.452-14.685-3.609\\\"],[12],[13],[2,\\\"\\\\n \\\"],[10,\\\"path\\\"],[14,0,\\\"fg\\\"],[14,\\\"d\\\",\\\"m73.4 97.876c-2.903 0.376-8.068 1.377-8.8 1.705-0.44 0.197-2.915 1.007-5.5 1.8s-4.7 1.617-4.7 1.831c0 0.213-0.225 0.388-0.5 0.388-0.63 1e-3 -5.615 2.344-5.893 2.771-0.114 0.175-0.837 0.638-1.607 1.029-5.482 2.788-14.835 11.523-18.63 17.4-0.639 0.99-1.274 1.89-1.409 2-0.659 0.534-4.752 8.933-5.555 11.4-0.502 1.54-1.048 2.98-1.213 3.2-0.587 0.782-2.031 7.531-2.489 11.633-0.256 2.292-0.61 4.167-0.785 4.167-0.443 0-0.403 17.45 0.042 18.305 0.199 0.382 0.566 2.748 0.816 5.258 0.493 4.939 1.847 12.516 2.428 13.578 0.198 0.363 0.83 2.369 1.405 4.459 1.927 7.009 10.26 22.927 12.44 23.764 0.303 0.116 0.55 0.481 0.55 0.812 0 0.813 10.667 11.552 12.3 12.383 0.715 0.364 1.3 0.821 1.3 1.017 0 0.195 0.945 0.934 2.1 1.642s2.19 1.41 2.3 1.561 1.28 0.875 2.6 1.609c1.32 0.735 2.67 1.552 3 1.816s1.95 1.086 3.6 1.827c1.65 0.74 3.101 1.486 3.224 1.658 0.123 0.171 1.741 0.865 3.596 1.542s3.557 1.384 3.783 1.572c0.226 0.187 2.388 0.907 4.804 1.599s4.753 1.423 5.193 1.624c1.299 0.593 7.258 1.856 12.2 2.586 2.53 0.374 4.96 0.83 5.4 1.013 1.151 0.48 8.262 1.165 15.067 1.45l5.866 0.247 0.877 2.594c0.903 2.673 4.652 10.529 5.195 10.884 0.168 0.11 0.585 0.83 0.928 1.6 0.685 1.538 1.927 3.686 2.313 4 0.135 0.11 0.826 1.19 1.536 2.4 1.544 2.634 4.561 7.175 5.293 7.968 0.289 0.313 0.975 1.236 1.525 2.051 1.729 2.563 7.039 9.405 8.557 11.025 0.244 0.26 1.523 1.692 2.843 3.183 3.476 3.925 7.354 7.774 10.261 10.183 1.397 1.157 2.629 2.223 2.739 2.368s1.096 0.884 2.191 1.643c1.094 0.758 2.33 1.681 2.745 2.051s1.229 0.911 1.809 1.203 1.884 1.026 2.897 1.632c1.952 1.167 7.201 3.093 8.428 3.093 0.402 0 0.73 0.18 0.73 0.4 0 0.511 115.46 0.557 115.77 0.046 0.121-0.194 1.074-0.482 2.119-0.639 2.437-0.365 7.765-2.307 9.27-3.378 0.64-0.456 1.334-0.829 1.542-0.829 0.451 0 5.639-3.687 8.597-6.111 2.854-2.337 5.633-5.107 8.718-8.689 1.42-1.65 2.681-3.09 2.8-3.2 0.581-0.536 5.161-6.76 5.812-7.9 0.409-0.715 0.869-1.3 1.023-1.3 0.153 0 0.938-1.125 1.742-2.5 2.068-3.533 4.108-6.822 4.561-7.352 0.213-0.248 1.043-1.755 1.845-3.348s1.62-3.1 1.818-3.348c0.687-0.864 5.069-9.661 5.555-11.152 0.269-0.825 0.642-1.5 0.829-1.5s0.878-1.396 1.536-3.101c0.658-1.706 1.671-4.047 2.251-5.203 0.581-1.156 1.405-3.116 1.832-4.356 0.426-1.239 0.934-2.453 1.129-2.696 0.194-0.244 0.946-2.154 1.671-4.244s1.446-3.89 1.602-4c0.155-0.11 0.964-2.36 1.797-5 0.832-2.64 1.627-4.89 1.766-5s0.861-2.27 1.604-4.8c0.742-2.53 1.484-4.782 1.649-5.003 0.164-0.222 0.872-2.562 1.573-5.2 0.701-2.639 1.412-4.977 1.58-5.197s0.965-3.19 1.77-6.6 1.623-6.488 1.817-6.84c0.195-0.353 0.919-3.503 1.611-7 0.692-3.498 1.431-6.678 1.642-7.068 0.211-0.389 0.938-4.169 1.616-8.4 0.677-4.23 1.388-8.052 1.579-8.492 0.192-0.44 0.708-3.77 1.147-7.4 4.258-35.198 1.497-55.451-8.208-60.199l-2.219-1.086-7.473 0.266c-4.111 0.146-7.834 0.417-8.274 0.602-0.801 0.336-13.842 0.941-52 2.412-11.22 0.433-22.2 0.881-24.4 0.997-2.2 0.115-11.334 0.415-20.298 0.665l-16.298 0.455-0.204 69.922-9.392-4.634-8e-3 -65.272-19.3-0.277c-10.615-0.153-19.84-0.441-20.5-0.642-0.66-0.2-6.69-0.551-13.4-0.779-21.82-0.743-58.18-2.495-59-2.843-0.44-0.187-4.04-0.453-8-0.591s-11.34-0.508-16.4-0.822c-8.365-0.519-22.619-0.685-25.6-0.298m13.657 31.23c0.269 0.173 0.809 3.742 1.313 8.694 0.471 4.62 1.021 8.76 1.221 9.2 0.201 0.44 0.561 2.42 0.801 4.4 0.709 5.856 2.382 15.937 2.787 16.8 0.207 0.44 0.943 3.68 1.636 7.2s1.4 6.58 1.571 6.8 0.803 2.56 1.405 5.2c0.601 2.64 1.333 5.34 1.627 6 0.293 0.66 1.193 3.63 2 6.6 0.808 2.97 1.597 5.49 1.754 5.6s0.884 2.27 1.614 4.8c0.731 2.53 1.455 4.69 1.608 4.8 0.154 0.11 0.868 2.09 1.587 4.4 0.72 2.31 1.494 4.429 1.721 4.71 0.226 0.28 0.341 0.567 0.255 0.637-0.263 0.215-9.713-1.339-10.37-1.704-0.337-0.188-1.237-0.468-2-0.623-4-0.814-10.947-2.703-11.712-3.185-0.481-0.304-1.325-0.675-1.875-0.825-1.377-0.377-5.355-1.954-5.6-2.22-0.11-0.12-1.447-0.841-2.971-1.604-1.524-0.762-3.216-1.791-3.759-2.286s-1.16-0.9-1.372-0.9c-1.422 0-11.329-9.68-12.558-12.27-0.347-0.731-0.775-1.33-0.951-1.33-0.593 0-4.638-8.175-5.591-11.3-0.519-1.705-1.071-3.1-1.226-3.1s-0.372-0.495-0.482-1.1c-0.111-0.605-0.599-3.08-1.084-5.5-1.119-5.58-1.528-15.681-0.814-20.111 0.516-3.208 1.895-8.141 2.372-8.489 0.15-0.11 0.752-1.19 1.338-2.4 2.053-4.245 6.611-8.836 11.098-11.177 1.43-0.746 2.69-1.485 2.8-1.643 0.28-0.402 6.231-2.23 8.4-2.58 0.99-0.16 2.003-0.454 2.251-0.654 0.248-0.199 2.678-0.513 5.4-0.697s5.039-0.357 5.149-0.385c0.11-0.029 0.406 0.08 0.657 0.242m131.79 38.066c2.262 0.371 16.092 6.678 15.866 7.236-0.061 0.151-1.897 3.894-4.08 8.319l-3.969 8.045-1.683 0.252c-7.022 1.053-10.939 9.207-7.353 15.306l0.782 1.33-1.37 2.87c-6.526 13.672-12.689 25.908-13.118 26.044-0.286 0.09-1.184 0.274-1.996 0.408-8.023 1.331-10.362 12.965-3.633 18.073 9.02 6.847 20.661-4.291 14.552-13.924l-1.109-1.747 6.786-13.854 6.785-13.855 1.848-0.269c1.016-0.148 2.891-0.734 4.167-1.301l2.319-1.032 7.333 3.659c15.185 7.578 15.269 8.451 3.232 33.53l-3.101 6.462-1.842 0.276c-12.439 1.865-11.279 20.2 1.278 20.2 7.975 0 12.763-8.124 8.898-15.098l-1.162-2.098 3.317-6.902c13.968-29.063 13.04-33.635-9.007-44.377l-5.747-2.8-0.265-1.862c-0.146-1.025-0.8-2.853-1.454-4.063l-1.19-2.2 3.234-6.6c3.935-8.034 4.694-9.419 5.112-9.333 0.323 0.067 7.884 3.708 23.125 11.137 4.4 2.145 11.449 5.568 15.664 7.606 11.682 5.65 14.346 8.881 14.326 17.371l-0.01 4.219-3.849 8c-2.117 4.4-6.182 12.77-9.033 18.6s-6.002 12.31-7.001 14.4c-15.532 32.481-16.572 33.8-26.676 33.8h-4.221l-4.2-2.029c-68.36-33.023-66.6-32.069-69.415-37.629-1.109-2.192-1.185-2.637-1.185-6.942v-4.6l11.164-23c22.503-46.361 21.901-45.183 24.197-47.328 3.874-3.618 8.661-5.122 13.684-4.3\\\"],[12],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n\\\"],[13],[2,\\\"\\\\n\\\"]],\\\"hasEval\\\":false,\\\"upvars\\\":[]}\",\n \"meta\": {\n \"moduleName\": \"kredits-web/templates/components/icon-account-gitea-kosmos-org.hbs\"\n }\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/templates/components/icon-account-github-com\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.HTMLBars.template({\n \"id\": \"6f7RSD0A\",\n \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[10,\\\"svg\\\"],[14,0,\\\"icon-github\\\"],[14,\\\"width\\\",\\\"260\\\"],[14,\\\"height\\\",\\\"260\\\"],[14,\\\"enable-background\\\",\\\"new 0 0 212.4575 186.23\\\"],[14,\\\"version\\\",\\\"1.1\\\"],[14,\\\"viewBox\\\",\\\"0 0 260 260\\\"],[14,\\\"xml:space\\\",\\\"preserve\\\",\\\"http://www.w3.org/XML/1998/namespace\\\"],[14,\\\"xmlns\\\",\\\"http://www.w3.org/2000/svg\\\",\\\"http://www.w3.org/2000/xmlns/\\\"],[14,\\\"xmlns:cc\\\",\\\"http://creativecommons.org/ns#\\\"],[14,\\\"xmlns:dc\\\",\\\"http://purl.org/dc/elements/1.1/\\\"],[14,\\\"xmlns:rdf\\\",\\\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"g\\\"],[14,\\\"transform\\\",\\\"translate(23.766 36.885)\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"path\\\"],[14,\\\"d\\\",\\\"m151.79 86.234c-7.078 0.1229-14.154 0.5605-21.232 0.7069-12.318 0.248-24.64 0.5664-36.961 0.512-11.176-0.0472-22.358-0.9728-33.518-0.7052-7.3164 0.1776-14.373 2.2948-20.131 7.584-9.9472 9.1368-12.522 21-11.314 33.807 1.92 20.357 9.2716 31.449 29.115 37.064 15.793 4.4704 31.963 5.2088 48.199 4.9744 5.254 0 10.51 0.1367 15.758-0.0292 12.723-0.4064 25.264-2.2072 37.358-6.3596 10.846-3.7225 18.799-10.691 22.572-22.166 2.6736-8.1288 3.7148-16.388 2.5544-24.853-1.7772-12.959-13.275-30.86-32.4-30.535zm-81.576 59.996c-8.836 0-16-8.9551-16-20 0-11.045 7.164-20 16-20s16 8.9553 16 20c0 11.045-7.164 20-16 20zm76 0c-8.836 0-16-8.9551-16-20 0-11.045 7.164-20 16-20s16 8.9553 16 20c0 11.045-7.164 20-16 20z\\\"],[14,\\\"fill\\\",\\\"none\\\"],[12],[13],[2,\\\"\\\\n \\\"],[10,\\\"path\\\"],[14,0,\\\"fg\\\"],[14,\\\"d\\\",\\\"m200.25 59.188c-2.5076-3.4493-4.3632-6.3888-3.8748-11.44 0.6796-7.0664-0.3536-14.396-1.3204-21.518-1.2188-8.9843-3.5236-17.74-7.1776-26.23-9.0332 1.9356-17.981 3.49-25.963 8.0976-8.4648 4.8908-16.695 10.215-25.08 15.25-0.9532 0.5704-2.3124 0.8848-3.3848 0.7032-17.967-3.1368-35.92-3.0196-53.898-0.086-1.3632 0.2244-3.0724-0.2345-4.2948-0.9608-4.4436-2.6604-8.6564-5.7344-13.123-8.3516-11.656-6.844-23.66-12.822-37.494-14.59-0.3928 0.8597-0.7188 1.4785-0.9612 2.1253-4.164 11.22-6.6424 22.844-7.4276 34.82-0.2872 4.3516-0.6092 8.8048 0 13.072 0.3456 2.4296-4e-3 3.8788-1.3924 5.6132-4.8516 6.0488-8.6368 12.717-11.102 20.219-4.6972 14.295-4.4004 28.861-2.2756 43.475 1.7268 11.974 4.7344 23.537 11.324 33.873 13.186 20.682 32.892 29.774 55.572 31.705 19.308 1.6464 38.8 1.1992 58.213 1.2364 13.855 0.0251 27.57-1.4924 40.715-6.6389 20.375-7.9727 33.859-22.604 40.275-44.166 3.7344-12.545 5.2324-25.396 4.8144-38.498-0.4412-13.81-4.0504-26.566-12.144-37.711zm-18.609 82.435c-3.7736 11.475-11.727 18.444-22.572 22.166-12.094 4.1524-24.635 5.9532-37.358 6.3596-5.248 0.1659-10.504 0.0292-15.758 0.0292-16.236 0.2344-32.406-0.504-48.199-4.9744-19.844-5.6152-27.195-16.707-29.115-37.064-1.2072-12.807 1.3672-24.67 11.314-33.807 5.7576-5.2892 12.814-7.4064 20.131-7.584 11.16-0.2676 22.342 0.658 33.518 0.7052 12.32 0.0544 24.642-0.264 36.961-0.512 7.0784-0.1464 14.154-0.584 21.232-0.7069 19.125-0.3243 30.623 17.576 32.4 30.535 1.1604 8.4647 0.1192 16.724-2.5544 24.853z\\\"],[12],[13],[2,\\\"\\\\n \\\"],[10,\\\"ellipse\\\"],[14,0,\\\"fg\\\"],[14,\\\"cx\\\",\\\"70.214\\\"],[14,\\\"cy\\\",\\\"126.23\\\"],[14,\\\"rx\\\",\\\"16\\\"],[14,\\\"ry\\\",\\\"20\\\"],[12],[13],[2,\\\"\\\\n \\\"],[10,\\\"ellipse\\\"],[14,0,\\\"fg\\\"],[14,\\\"cx\\\",\\\"146.21\\\"],[14,\\\"cy\\\",\\\"126.23\\\"],[14,\\\"rx\\\",\\\"16\\\"],[14,\\\"ry\\\",\\\"20\\\"],[12],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n\\\"],[13],[2,\\\"\\\\n\\\"]],\\\"hasEval\\\":false,\\\"upvars\\\":[]}\",\n \"meta\": {\n \"moduleName\": \"kredits-web/templates/components/icon-account-github-com.hbs\"\n }\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/templates/components/icon-account-wiki-kosmos-org\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.HTMLBars.template({\n \"id\": \"Jd1PFucm\",\n \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[10,\\\"svg\\\"],[14,0,\\\"icon-wiki\\\"],[14,\\\"width\\\",\\\"120\\\"],[14,\\\"height\\\",\\\"120\\\"],[14,\\\"version\\\",\\\"1.1\\\"],[14,\\\"viewBox\\\",\\\"0 0 120 120\\\"],[14,\\\"xml:space\\\",\\\"preserve\\\",\\\"http://www.w3.org/XML/1998/namespace\\\"],[14,\\\"xmlns\\\",\\\"http://www.w3.org/2000/svg\\\",\\\"http://www.w3.org/2000/xmlns/\\\"],[14,\\\"xmlns:cc\\\",\\\"http://creativecommons.org/ns#\\\"],[14,\\\"xmlns:dc\\\",\\\"http://purl.org/dc/elements/1.1/\\\"],[14,\\\"xmlns:rdf\\\",\\\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"g\\\"],[14,\\\"transform\\\",\\\"translate(18.1,3)\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"polygon\\\"],[14,0,\\\"fg\\\"],[14,\\\"transform\\\",\\\"translate(-6.2,9)\\\"],[14,\\\"points\\\",\\\"6.2 5 45.7 20.5 45.7 91 6.2 75.5\\\"],[12],[13],[2,\\\"\\\\n \\\"],[10,\\\"polygon\\\"],[14,0,\\\"fg\\\"],[14,\\\"transform\\\",\\\"translate(-6.2,9)\\\"],[14,\\\"points\\\",\\\"90 5 50.5 20.5 50.5 91 90 75.5\\\"],[12],[13],[2,\\\"\\\\n \\\"],[10,\\\"polygon\\\"],[14,0,\\\"fg\\\"],[14,\\\"transform\\\",\\\"translate(-6.2,9)\\\"],[14,\\\"points\\\",\\\"87 88 87 81.8 60.4 91\\\"],[12],[13],[2,\\\"\\\\n \\\"],[10,\\\"polygon\\\"],[14,0,\\\"fg\\\"],[14,\\\"transform\\\",\\\"translate(-6.2,9)\\\"],[14,\\\"points\\\",\\\"9.2 88 9.2 81.8 34.9 91\\\"],[12],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n\\\"],[13],[2,\\\"\\\\n\\\"]],\\\"hasEval\\\":false,\\\"upvars\\\":[]}\",\n \"meta\": {\n \"moduleName\": \"kredits-web/templates/components/icon-account-wiki-kosmos-org.hbs\"\n }\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/templates/components/icon-account-zoom-us\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.HTMLBars.template({\n \"id\": \"t+FK8DQJ\",\n \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[10,\\\"svg\\\"],[14,\\\"width\\\",\\\"256\\\"],[14,\\\"height\\\",\\\"256\\\"],[14,\\\"version\\\",\\\"1.1\\\"],[14,\\\"viewBox\\\",\\\"0 0 67.733 67.733\\\"],[14,\\\"xmlns\\\",\\\"http://www.w3.org/2000/svg\\\",\\\"http://www.w3.org/2000/xmlns/\\\"],[14,\\\"xmlns:cc\\\",\\\"http://creativecommons.org/ns#\\\"],[14,\\\"xmlns:dc\\\",\\\"http://purl.org/dc/elements/1.1/\\\"],[14,\\\"xmlns:rdf\\\",\\\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"g\\\"],[14,\\\"transform\\\",\\\"translate(0 -229.27)\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"g\\\"],[14,\\\"transform\\\",\\\"matrix(.90278 0 0 .90278 6.5684 141.05)\\\"],[14,\\\"fill-rule\\\",\\\"evenodd\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"path\\\"],[14,0,\\\"fg\\\"],[14,\\\"d\\\",\\\"m32.67 117.1c2.2056 0.1405 3.0528 0.27041 4.1992 0.64479 3.9359 1.2854 6.7418 4.6736 7.3059 8.8223 0.06615 0.48578 0.13996 1.0253 0.16431 1.1986 0.29104 2.0743 0.07488 21.552-0.25003 22.55-0.59082 1.814-1.901 2.7993-4.0537 3.0488-1.3671 0.15849-30.564 0.0701-31.846-0.0963-5.2843-0.68659-8.8934-4.001-9.7398-8.9445-0.38418-2.2439-0.62362-20.748-0.29871-23.084 0.34422-2.4746 1.7264-3.797 4.3212-4.1338 0.98769-0.12832 28.191-0.13361 30.197-6e-3\\\"],[12],[13],[2,\\\"\\\\n \\\"],[10,\\\"path\\\"],[14,0,\\\"fg\\\"],[14,\\\"d\\\",\\\"m61.114 118.11c0.56621 0.4072 0.97816 1.0565 1.1885 1.874 0.19553 0.75909 0.24474 28.04 0.05371 29.747-0.37333 3.3361-2.6305 4.0137-5.5264 1.6584-7.9722-6.4841-9.021-7.5734-9.6795-10.052-0.26008-0.97895-0.33152-10.629-0.08811-11.876 0.38021-1.9457 1.2594-3.1946 3.7383-5.3099 7.4491-6.3564 7.5914-6.4569 9.0522-6.4008 0.70723 0.0272 0.8599 0.0709 1.2613 0.3593\\\"],[12],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n\\\"],[13],[2,\\\"\\\\n\\\"]],\\\"hasEval\\\":false,\\\"upvars\\\":[]}\",\n \"meta\": {\n \"moduleName\": \"kredits-web/templates/components/icon-account-zoom-us.hbs\"\n }\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/templates/components/icon-tag\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.HTMLBars.template({\n \"id\": \"JuVyAs3U\",\n \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[10,\\\"svg\\\"],[14,\\\"xmlns\\\",\\\"http://www.w3.org/2000/svg\\\",\\\"http://www.w3.org/2000/xmlns/\\\"],[14,\\\"width\\\",\\\"24\\\"],[14,\\\"height\\\",\\\"24\\\"],[14,\\\"viewBox\\\",\\\"0 0 24 24\\\"],[14,\\\"fill\\\",\\\"none\\\"],[14,\\\"stroke\\\",\\\"currentColor\\\"],[14,\\\"stroke-width\\\",\\\"2\\\"],[14,\\\"stroke-linecap\\\",\\\"round\\\"],[14,\\\"stroke-linejoin\\\",\\\"round\\\"],[14,0,\\\"feather feather-tag\\\"],[12],[10,\\\"path\\\"],[14,\\\"d\\\",\\\"M20.59 13.41l-7.17 7.17a2 2 0 0 1-2.83 0L2 12V2h10l8.59 8.59a2 2 0 0 1 0 2.82z\\\"],[12],[13],[10,\\\"line\\\"],[14,\\\"x1\\\",\\\"7\\\"],[14,\\\"y1\\\",\\\"7\\\"],[14,\\\"x2\\\",\\\"7.01\\\"],[14,\\\"y2\\\",\\\"7\\\"],[12],[13],[13]],\\\"hasEval\\\":false,\\\"upvars\\\":[]}\",\n \"meta\": {\n \"moduleName\": \"kredits-web/templates/components/icon-tag.hbs\"\n }\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/templates/components/icon-warning\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.HTMLBars.template({\n \"id\": \"s2ZzsQPB\",\n \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[10,\\\"svg\\\"],[14,\\\"width\\\",\\\"60px\\\"],[14,\\\"height\\\",\\\"60px\\\"],[14,\\\"version\\\",\\\"1.1\\\"],[14,\\\"viewBox\\\",\\\"0 0 60 60\\\"],[14,\\\"xmlns\\\",\\\"http://www.w3.org/2000/svg\\\",\\\"http://www.w3.org/2000/xmlns/\\\"],[14,\\\"xmlns:cc\\\",\\\"http://creativecommons.org/ns#\\\"],[14,\\\"xmlns:dc\\\",\\\"http://purl.org/dc/elements/1.1/\\\"],[14,\\\"xmlns:rdf\\\",\\\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"g\\\"],[14,\\\"fill\\\",\\\"none\\\"],[14,\\\"fill-rule\\\",\\\"evenodd\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"g\\\"],[14,\\\"transform\\\",\\\"translate(-479,-238)\\\"],[14,\\\"stroke\\\",\\\"#fbe468\\\"],[14,\\\"stroke-linecap\\\",\\\"round\\\"],[14,\\\"stroke-linejoin\\\",\\\"round\\\"],[14,\\\"stroke-width\\\",\\\"1\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"g\\\"],[14,\\\"transform\\\",\\\"translate(482,244)\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"a\\\"],[14,\\\"transform\\\",\\\"translate(0,2)\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"polygon\\\"],[14,1,\\\"Triangle-58\\\"],[14,\\\"points\\\",\\\"0.15321 44 27 0 53.847 44\\\"],[12],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"rect\\\"],[14,\\\"x\\\",\\\"25\\\"],[14,\\\"y\\\",\\\"13\\\"],[14,\\\"width\\\",\\\"4\\\"],[14,\\\"height\\\",\\\"21\\\"],[12],[13],[2,\\\"\\\\n \\\"],[10,\\\"a\\\"],[14,\\\"transform\\\",\\\"translate(0,2)\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"circle\\\"],[14,\\\"cx\\\",\\\"27\\\"],[14,\\\"cy\\\",\\\"38\\\"],[14,\\\"r\\\",\\\"2\\\"],[12],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n\\\"],[13],[2,\\\"\\\\n\\\"]],\\\"hasEval\\\":false,\\\"upvars\\\":[]}\",\n \"meta\": {\n \"moduleName\": \"kredits-web/templates/components/icon-warning.hbs\"\n }\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/templates/components/icon-web-globe\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.HTMLBars.template({\n \"id\": \"CCF3RzQa\",\n \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[10,\\\"svg\\\"],[14,0,\\\"icon-web-globe\\\"],[14,\\\"width\\\",\\\"60\\\"],[14,\\\"height\\\",\\\"60\\\"],[14,\\\"enable-background\\\",\\\"new 0 0 64 64\\\"],[14,\\\"version\\\",\\\"1.1\\\"],[14,\\\"viewBox\\\",\\\"0 0 60 60\\\"],[14,\\\"xml:space\\\",\\\"preserve\\\",\\\"http://www.w3.org/XML/1998/namespace\\\"],[14,\\\"xmlns\\\",\\\"http://www.w3.org/2000/svg\\\",\\\"http://www.w3.org/2000/xmlns/\\\"],[14,\\\"xmlns:cc\\\",\\\"http://creativecommons.org/ns#\\\"],[14,\\\"xmlns:dc\\\",\\\"http://purl.org/dc/elements/1.1/\\\"],[14,\\\"xmlns:rdf\\\",\\\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"path\\\"],[14,0,\\\"fg\\\"],[14,\\\"d\\\",\\\"m48.1 14.3c-0.4-0.5-0.9-1-1.4-1.5-4.3-4.2-10.2-6.8-16.7-6.8s-12.4 2.6-16.7 6.8c-0.5 0.5-1 1-1.4 1.5-3.7 4.2-5.9 9.7-5.9 15.7s2.2 11.5 5.8 15.7c0.4 0.5 0.9 1 1.4 1.5 4.3 4.2 10.3 6.8 16.8 6.8s12.5-2.6 16.8-6.9c0.5-0.5 0.9-0.9 1.4-1.5 3.6-4.1 5.8-9.6 5.8-15.6s-2.2-11.5-5.9-15.7zm3.9 14.7h-8.1c-0.1-3-1-7.3-2.4-10.5 1.8-0.8 3.5-1.8 5.1-3 3.1 3.6 5.1 8.5 5.4 13.5zm-21-20.1c3 2.3 5.8 5.2 7.6 8.5-2.4 0.9-4.6 1.3-7.6 1.4zm-2 9.9c-3-0.1-5.2-0.6-7.6-1.4 1.8-3.3 4.6-6.3 7.6-8.5zm0 2v8.2h-10.8c0.1-3 0.9-6.8 2.3-9.8 2.7 1 5.5 1.5 8.5 1.6zm0 10.2v8c-3 0.1-5.9 0.7-8.6 1.7-1.4-3-2.1-5.7-2.3-9.7zm0 10v10.1c-3-2.3-5.8-5.3-7.7-8.6 2.4-0.9 4.7-1.4 7.7-1.5zm2 0c3 0.1 5.3 0.6 7.7 1.5-1.9 3.4-4.7 6.3-7.7 8.6zm0-2v-8h10.8c-0.1 4-0.9 6.7-2.3 9.7-2.6-1-5.5-1.5-8.5-1.7zm0-10v-8.2c3-0.1 5.8-0.7 8.5-1.6 1.4 3 2.2 6.8 2.3 9.8zm9.5-12.3c-1.7-3.2-4.1-6-6.9-8.3 4.4 0.6 8.4 2.7 11.5 5.6-1.4 1.1-3 1.9-4.6 2.7zm-14.1-8.4c-2.9 2.3-5.2 5.2-6.9 8.3-1.6-0.7-3.2-1.6-4.6-2.6 3.1-2.9 7.1-5 11.5-5.7zm-12.9 7.2c1.6 1.2 3.3 2.2 5.1 3-1.5 3.3-2.3 7.5-2.4 10.5h-8.2c0.3-5 2.3-9.9 5.5-13.5zm-5.5 15.5h8.1c0.1 4 1 7.2 2.4 10.5-1.8 0.8-3.5 1.8-5.1 3-3.2-3.7-5.1-8.5-5.4-13.5zm11.4 12.2c1.7 3.2 4.1 6.1 7 8.4-4.5-0.7-8.5-2.8-11.6-5.8 1.5-1 3-1.8 4.6-2.6zm14.2 8.5c2.9-2.4 5.3-5.2 7-8.4 1.6 0.7 3.2 1.6 4.6 2.6-3.1 3-7.2 5-11.6 5.8zm13-7.3c-1.6-1.2-3.3-2.2-5.1-3 1.4-3.2 2.3-6.5 2.4-10.5h8.1c-0.3 5.1-2.2 9.9-5.4 13.5z\\\"],[12],[13],[2,\\\"\\\\n\\\"],[13],[2,\\\"\\\\n\\\"]],\\\"hasEval\\\":false,\\\"upvars\\\":[]}\",\n \"meta\": {\n \"moduleName\": \"kredits-web/templates/components/icon-web-globe.hbs\"\n }\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/templates/contributions/new\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.HTMLBars.template({\n \"id\": \"FD6gV6zT\",\n \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[10,\\\"main\\\"],[14,0,\\\"center-column\\\"],[12],[2,\\\"\\\\n\\\\n \\\"],[10,\\\"section\\\"],[14,1,\\\"add-contribution\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"header\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"h2\\\"],[12],[2,\\\"Submit a contribution\\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n\\\\n \\\"],[10,\\\"div\\\"],[14,0,\\\"content\\\"],[12],[2,\\\"\\\\n \\\"],[8,\\\"add-contribution\\\",[],[[\\\"@attributes\\\",\\\"@save\\\"],[[32,0,[\\\"model\\\",\\\"params\\\"]],[30,[36,0],[[32,0],\\\"save\\\"],null]]],null],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n\\\\n\\\"],[13],[2,\\\"\\\\n\\\"]],\\\"hasEval\\\":false,\\\"upvars\\\":[\\\"action\\\"]}\",\n \"meta\": {\n \"moduleName\": \"kredits-web/templates/contributions/new.hbs\"\n }\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/templates/contributions/resubmit\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.HTMLBars.template({\n \"id\": \"CwFo+wqw\",\n \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[10,\\\"main\\\"],[14,0,\\\"center-column\\\"],[12],[2,\\\"\\\\n\\\\n \\\"],[10,\\\"section\\\"],[14,1,\\\"add-contribution\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"header\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"h2\\\"],[12],[2,\\\"Re-submit contribution #\\\"],[1,[32,0,[\\\"model\\\",\\\"id\\\"]]],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n\\\\n \\\"],[10,\\\"div\\\"],[14,0,\\\"content\\\"],[12],[2,\\\"\\\\n \\\"],[8,\\\"add-contribution\\\",[],[[\\\"@attributes\\\",\\\"@contributors\\\",\\\"@save\\\"],[[32,0,[\\\"attributes\\\"]],[32,0,[\\\"sortedContributors\\\"]],[30,[36,0],[[32,0],\\\"save\\\"],null]]],null],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n\\\\n\\\"],[13],[2,\\\"\\\\n\\\"]],\\\"hasEval\\\":false,\\\"upvars\\\":[\\\"action\\\"]}\",\n \"meta\": {\n \"moduleName\": \"kredits-web/templates/contributions/resubmit.hbs\"\n }\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/templates/contributors/edit\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.HTMLBars.template({\n \"id\": \"clbPf+4y\",\n \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[10,\\\"main\\\"],[14,0,\\\"center-column\\\"],[12],[2,\\\"\\\\n\\\\n \\\"],[10,\\\"section\\\"],[14,1,\\\"add-contributor\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"header\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"h2\\\"],[12],[2,\\\"Update contributor profile\\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n\\\\n \\\"],[10,\\\"div\\\"],[14,0,\\\"content\\\"],[12],[2,\\\"\\\\n \\\"],[8,\\\"add-contributor\\\",[],[[\\\"@attributes\\\",\\\"@save\\\"],[[32,0,[\\\"attributes\\\"]],[30,[36,0],[[32,0],\\\"save\\\"],null]]],null],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n\\\\n\\\"],[13],[2,\\\"\\\\n\\\"]],\\\"hasEval\\\":false,\\\"upvars\\\":[\\\"action\\\"]}\",\n \"meta\": {\n \"moduleName\": \"kredits-web/templates/contributors/edit.hbs\"\n }\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/templates/contributors/new\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.HTMLBars.template({\n \"id\": \"zY+qbRPK\",\n \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[10,\\\"main\\\"],[14,0,\\\"center-column\\\"],[12],[2,\\\"\\\\n\\\\n \\\"],[10,\\\"section\\\"],[14,1,\\\"add-contributor\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"header\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"h2\\\"],[12],[2,\\\"Add contributor profile\\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n\\\\n \\\"],[10,\\\"div\\\"],[14,0,\\\"content\\\"],[12],[2,\\\"\\\\n \\\"],[8,\\\"add-contributor\\\",[],[[\\\"@save\\\"],[[30,[36,0],[[32,0],\\\"save\\\"],null]]],null],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n\\\\n\\\"],[13],[2,\\\"\\\\n\\\"]],\\\"hasEval\\\":false,\\\"upvars\\\":[\\\"action\\\"]}\",\n \"meta\": {\n \"moduleName\": \"kredits-web/templates/contributors/new.hbs\"\n }\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/templates/dashboard\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.HTMLBars.template({\n \"id\": \"x0i2G66s\",\n \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[6,[37,2],[[32,0,[\\\"showIntroText\\\"]]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\" \\\"],[10,\\\"div\\\"],[14,1,\\\"intro\\\"],[15,0,[30,[36,2],[[32,0,[\\\"showDetailsPane\\\"]],\\\"with-details\\\"],null]],[12],[2,\\\"\\\\n \\\"],[10,\\\"h2\\\"],[12],[2,\\\"\\\\n Welcome to the contribution dashboard of the\\\\n \\\"],[10,\\\"a\\\"],[14,6,\\\"https://kosmos.org\\\"],[14,\\\"target\\\",\\\"_blank\\\"],[14,\\\"rel\\\",\\\"noreferrer noopener\\\"],[12],[2,\\\"Kosmos\\\"],[13],[2,\\\" project!\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"p\\\"],[12],[2,\\\"\\\\n If you want to learn more about what the numbers mean and how this works,\\\\n check out the\\\\n \\\"],[10,\\\"a\\\"],[14,6,\\\"https://wiki.kosmos.org/Kredits\\\"],[14,\\\"target\\\",\\\"_blank\\\"],[14,\\\"rel\\\",\\\"noreferrer noopener\\\"],[12],[2,\\\"Kredits documentation\\\"],[13],[2,\\\".\\\\n If you want to start earning kredits for your contributions,\\\\n \\\"],[8,\\\"link-to\\\",[],[[\\\"@route\\\"],[\\\"signup\\\"]],[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\"create a contributor profile\\\"]],\\\"parameters\\\":[]}]]],[2,\\\".\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]]],[2,\\\"\\\\n\\\"],[10,\\\"main\\\"],[14,1,\\\"dashboard\\\"],[15,0,[30,[36,2],[[32,0,[\\\"showDetailsPane\\\"]],\\\"with-details\\\"],null]],[12],[2,\\\"\\\\n\\\\n \\\"],[10,\\\"div\\\"],[14,1,\\\"stats\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"section\\\"],[14,1,\\\"people\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"header\\\"],[14,0,\\\"with-nav\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"h2\\\"],[12],[2,\\\"Contributors\\\"],[13],[2,\\\"\\\\n\\\"],[6,[37,2],[[32,0,[\\\"kredits\\\",\\\"hasAccounts\\\"]]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\" \\\"],[10,\\\"nav\\\"],[12],[2,\\\"\\\\n \\\"],[8,\\\"link-to\\\",[[24,0,\\\"button small green\\\"]],[[\\\"@route\\\",\\\"@title\\\"],[\\\"contributors.new\\\",\\\"Add contributor profile\\\"]],[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\"add\\\"]],\\\"parameters\\\":[]}]]],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]]],[2,\\\" \\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"div\\\"],[14,0,\\\"content\\\"],[12],[2,\\\"\\\\n \\\"],[8,\\\"contributor-list\\\",[],[[\\\"@contributorList\\\",\\\"@showUnconfirmedKredits\\\",\\\"@selectedContributorId\\\",\\\"@loading\\\"],[[32,0,[\\\"kreditsToplist\\\"]],[32,0,[\\\"showUnconfirmedKredits\\\"]],[32,0,[\\\"selectedContributorId\\\"]],[32,0,[\\\"kredits\\\",\\\"syncContributors\\\",\\\"isRunning\\\"]]]],null],[2,\\\"\\\\n\\\\n \\\"],[10,\\\"p\\\"],[14,0,\\\"stats\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"span\\\"],[14,0,\\\"number\\\"],[12],[1,[30,[36,4],[[32,0,[\\\"kredits\\\",\\\"totalKreditsEarned\\\"]]],null]],[13],[2,\\\" kredits confirmed and issued to\\\\n \\\"],[10,\\\"span\\\"],[14,0,\\\"number\\\"],[12],[1,[32,0,[\\\"contributorsWithKredits\\\",\\\"length\\\"]]],[13],[2,\\\" contributors\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"p\\\"],[14,0,\\\"stats\\\"],[12],[2,\\\"\\\\n \\\"],[8,\\\"input\\\",[[24,1,\\\"hide-unnconfirmed-kredits\\\"]],[[\\\"@type\\\",\\\"@checked\\\"],[\\\"checkbox\\\",[32,0,[\\\"showUnconfirmedKredits\\\"]]]],null],[2,\\\"\\\\n \\\"],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"hide-unnconfirmed-kredits\\\"],[12],[2,\\\"Show unconfirmed kredits in toplist\\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n\\\\n\\\"],[6,[37,2],[[32,0,[\\\"contributionsConfirmed\\\"]]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\" \\\"],[10,\\\"section\\\"],[14,1,\\\"contributions-by-type\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"header\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"h2\\\"],[12],[2,\\\"Contributions by type\\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"div\\\"],[14,0,\\\"content\\\"],[12],[2,\\\"\\\\n \\\"],[8,\\\"chart-contributions-by-type\\\",[],[[\\\"@contributions\\\"],[[32,0,[\\\"contributions\\\"]]]],null],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]]],[2,\\\" \\\"],[13],[2,\\\"\\\\n\\\\n \\\"],[10,\\\"div\\\"],[14,1,\\\"contributions\\\"],[12],[2,\\\"\\\\n\\\"],[6,[37,2],[[32,0,[\\\"contributionsUnconfirmed\\\"]]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\" \\\"],[10,\\\"section\\\"],[14,1,\\\"contributions-unconfirmed\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"header\\\"],[14,0,\\\"with-nav\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"h2\\\"],[12],[2,\\\"\\\\n Latest Contributions\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"nav\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"button\\\"],[15,\\\"onclick\\\",[30,[36,3],[[32,0],\\\"toggleQuickFilterUnconfirmed\\\"],null]],[15,0,[31,[\\\"small \\\",[30,[36,2],[[32,0,[\\\"showQuickFilterUnconfirmed\\\"]],\\\"active\\\"],null]]]],[14,4,\\\"button\\\"],[12],[2,\\\"\\\\n filter\\\\n \\\"],[13],[2,\\\"\\\\n\\\"],[6,[37,2],[[32,0,[\\\"kredits\\\",\\\"hasAccounts\\\"]]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\" \\\"],[8,\\\"link-to\\\",[[24,0,\\\"button small green\\\"]],[[\\\"@route\\\",\\\"@title\\\"],[\\\"contributions.new\\\",\\\"Submit a contribution\\\"]],[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\"add\\\"]],\\\"parameters\\\":[]}]]],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]]],[2,\\\" \\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"div\\\"],[14,0,\\\"content\\\"],[12],[2,\\\"\\\\n\\\"],[2,\\\" \\\"],[8,\\\"contribution-list\\\",[],[[\\\"@contributions\\\",\\\"@vetoContribution\\\",\\\"@contractInteractionEnabled\\\",\\\"@selectedContributionId\\\",\\\"@showQuickFilter\\\",\\\"@loading\\\"],[[32,0,[\\\"contributionsUnconfirmedSorted\\\"]],[30,[36,3],[[32,0],\\\"vetoContribution\\\"],null],[32,0,[\\\"kredits\\\",\\\"hasAccounts\\\"]],[32,0,[\\\"selectedContributionId\\\"]],[32,0,[\\\"showQuickFilterUnconfirmed\\\"]],[32,0,[\\\"kredits\\\",\\\"syncContributions\\\",\\\"isRunning\\\"]]]],null],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]]],[2,\\\"\\\\n\\\"],[6,[37,2],[[32,0,[\\\"contributionsConfirmed\\\"]]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\" \\\"],[10,\\\"section\\\"],[14,1,\\\"contributions-confirmed\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"header\\\"],[14,0,\\\"with-nav\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"h2\\\"],[12],[2,\\\"Confirmed Contributions\\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"nav\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"button\\\"],[15,\\\"onclick\\\",[30,[36,3],[[32,0],\\\"toggleQuickFilterConfirmed\\\"],null]],[15,0,[31,[\\\"small \\\",[30,[36,2],[[32,0,[\\\"showQuickFilterConfirmed\\\"]],\\\"active\\\"],null]]]],[14,4,\\\"button\\\"],[12],[2,\\\"\\\\n filter\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"div\\\"],[14,0,\\\"content\\\"],[12],[2,\\\"\\\\n \\\"],[8,\\\"contribution-list\\\",[],[[\\\"@contributions\\\",\\\"@vetoContribution\\\",\\\"@selectedContributionId\\\",\\\"@showQuickFilter\\\"],[[32,0,[\\\"contributionsConfirmedSorted\\\"]],[30,[36,3],[[32,0],\\\"vetoContribution\\\"],null],[32,0,[\\\"selectedContributionId\\\"]],[32,0,[\\\"showQuickFilterConfirmed\\\"]]]],null],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]]],[2,\\\"\\\\n\\\"],[6,[37,2],[[32,0,[\\\"showFullContributionSync\\\"]]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\" \\\"],[10,\\\"section\\\"],[14,1,\\\"sync-all-contributions\\\"],[12],[2,\\\"\\\\n\\\"],[6,[37,2],[[32,0,[\\\"kredits\\\",\\\"fetchMissingContributions\\\",\\\"isIdle\\\"]]],null,[[\\\"default\\\",\\\"else\\\"],[{\\\"statements\\\":[[2,\\\" \\\"],[10,\\\"p\\\"],[14,0,\\\"mb-4\\\"],[12],[2,\\\"\\\\n There are\\\\n \\\"],[10,\\\"strong\\\"],[12],[1,[32,0,[\\\"kredits\\\",\\\"missingHistoricContributionsCount\\\"]]],[13],[2,\\\"\\\\n earlier contributions, which are not currently loaded/displayed.\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"p\\\"],[12],[2,\\\"\\\\n You can fetch all historic data in one go, and have it stored locally in\\\\n your browser:\\\\n \\\"],[11,\\\"button\\\"],[24,0,\\\"small\\\"],[24,4,\\\"button\\\"],[4,[38,1],[\\\"click\\\",[30,[36,0],[[32,0,[\\\"kredits\\\",\\\"fetchMissingContributions\\\"]]],null]],null],[12],[2,\\\"\\\\n fetch all data\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[2,\\\" \\\"],[10,\\\"p\\\"],[14,0,\\\"mb-4\\\"],[12],[2,\\\"\\\\n Syncing data. Please be patient...\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"p\\\"],[12],[2,\\\"\\\\n (You can leave this website anytime and sync missing data when you come back.)\\\\n \\\"],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]]],[2,\\\" \\\"],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]]],[2,\\\" \\\"],[13],[2,\\\"\\\\n\\\\n \\\"],[10,\\\"div\\\"],[14,1,\\\"details\\\"],[12],[2,\\\"\\\\n \\\"],[1,[30,[36,6],[[30,[36,5],null,null]],null]],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n\\\\n\\\"],[13],[2,\\\"\\\\n\\\"]],\\\"hasEval\\\":false,\\\"upvars\\\":[\\\"perform\\\",\\\"on\\\",\\\"if\\\",\\\"action\\\",\\\"await\\\",\\\"-outlet\\\",\\\"component\\\"]}\",\n \"meta\": {\n \"moduleName\": \"kredits-web/templates/dashboard.hbs\"\n }\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/templates/dashboard/contributions/show\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.HTMLBars.template({\n \"id\": \"DufwIN5Z\",\n \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[10,\\\"section\\\"],[14,1,\\\"contribution-details\\\"],[15,0,[30,[36,0],[[32,0,[\\\"model\\\",\\\"vetoed\\\"]],\\\"vetoed\\\"],null]],[12],[2,\\\"\\\\n \\\"],[10,\\\"header\\\"],[14,0,\\\"with-nav\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"h2\\\"],[12],[2,\\\"Contribution #\\\"],[1,[32,0,[\\\"model\\\",\\\"id\\\"]]],[13],[2,\\\"\\\\n \\\"],[10,\\\"nav\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"span\\\"],[14,0,\\\"amount\\\"],[12],[1,[32,0,[\\\"model\\\",\\\"amount\\\"]]],[13],[2,\\\" \\\\n \\\"],[10,\\\"span\\\"],[14,0,\\\"symbol\\\"],[12],[2,\\\"₭S\\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n\\\\n \\\"],[10,\\\"div\\\"],[14,0,\\\"content\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"p\\\"],[14,0,\\\"who-what-when\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"span\\\"],[14,0,\\\"contributor\\\"],[12],[2,\\\"\\\\n \\\"],[8,\\\"user-avatar\\\",[],[[\\\"@contributor\\\"],[[32,0,[\\\"model\\\",\\\"contributor\\\"]]]],null],[2,\\\"\\\\n \\\"],[8,\\\"link-to\\\",[],[[\\\"@route\\\",\\\"@model\\\"],[\\\"dashboard.contributors.show\\\",[32,0,[\\\"model\\\",\\\"contributor\\\"]]]],[[\\\"default\\\"],[{\\\"statements\\\":[[1,[32,0,[\\\"model\\\",\\\"contributor\\\",\\\"name\\\"]]]],\\\"parameters\\\":[]}]]],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n contributed\\\\n \\\"],[10,\\\"span\\\"],[14,0,\\\"date\\\"],[15,\\\"title\\\",[32,0,[\\\"model\\\",\\\"iso8601Date\\\"]]],[12],[1,[30,[36,1],[[32,0,[\\\"model\\\",\\\"iso8601Date\\\"]]],null]],[13],[2,\\\":\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"h3\\\"],[12],[1,[32,0,[\\\"model\\\",\\\"description\\\"]]],[13],[2,\\\"\\\\n \\\"],[10,\\\"p\\\"],[12],[2,\\\"\\\\n Kind: \\\"],[1,[32,0,[\\\"model\\\",\\\"kind\\\"]]],[2,\\\"\\\\n \\\"],[10,\\\"br\\\"],[12],[13],[2,\\\"Status: \\\"],[1,[30,[36,2],[[32,0,[\\\"model\\\"]]],null]],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n\\\"],[6,[37,0],[[32,0,[\\\"model\\\",\\\"url\\\"]]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\" \\\"],[10,\\\"p\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"a\\\"],[15,6,[32,0,[\\\"model\\\",\\\"url\\\"]]],[15,\\\"title\\\",[32,0,[\\\"model\\\",\\\"description\\\"]]],[14,0,\\\"button\\\"],[14,\\\"target\\\",\\\"_blank\\\"],[14,\\\"rel\\\",\\\"noopener noreferrer\\\"],[12],[2,\\\"\\\\n Open URL\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]]],[6,[37,0],[[32,0,[\\\"model\\\",\\\"vetoed\\\"]]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\" \\\"],[10,\\\"div\\\"],[14,0,\\\"hint vetoed\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"div\\\"],[14,0,\\\"icon\\\"],[12],[2,\\\"\\\\n \\\"],[8,\\\"icon-warning\\\",[],[[],[]],null],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"p\\\"],[12],[2,\\\"\\\\n This contribution has been vetoed, meaning no\\\\n kredits will be issued.\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"p\\\"],[12],[2,\\\"\\\\n \\\"],[8,\\\"link-to\\\",[[24,0,\\\"button small green\\\"]],[[\\\"@route\\\",\\\"@model\\\"],[\\\"contributions.resubmit\\\",[32,0,[\\\"model\\\"]]]],[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\"Re-submit contribution …\\\"]],\\\"parameters\\\":[]}]]],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]]],[2,\\\" \\\"],[13],[2,\\\"\\\\n\\\\n \\\"],[10,\\\"div\\\"],[14,0,\\\"actions\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"p\\\"],[12],[2,\\\"\\\\n \\\"],[8,\\\"link-to\\\",[[24,0,\\\"button small\\\"]],[[\\\"@route\\\",\\\"@model\\\"],[\\\"contributions.resubmit\\\",[32,0,[\\\"model\\\"]]]],[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\"Copy & edit as new\\\"]],\\\"parameters\\\":[]}]]],[2,\\\"\\\\n\\\"],[6,[37,0],[[32,0,[\\\"model\\\",\\\"ipfsHash\\\"]]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\" \\\"],[10,\\\"a\\\"],[15,6,[31,[[32,0,[\\\"ipfsGatewayUrl\\\"]],\\\"/\\\",[32,0,[\\\"model\\\",\\\"ipfsHash\\\"]]]]],[14,0,\\\"button small\\\"],[14,\\\"target\\\",\\\"_blank\\\"],[14,\\\"rel\\\",\\\"noopener noreferrer\\\"],[12],[2,\\\"\\\\n Inspect IPFS data\\\\n \\\"],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]]],[2,\\\" \\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n\\\"],[13]],\\\"hasEval\\\":false,\\\"upvars\\\":[\\\"if\\\",\\\"moment-from\\\",\\\"item-status\\\"]}\",\n \"meta\": {\n \"moduleName\": \"kredits-web/templates/dashboard/contributions/show.hbs\"\n }\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/templates/dashboard/contributors/show\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.HTMLBars.template({\n \"id\": \"uzAAqojK\",\n \"block\": \"{\\\"symbols\\\":[\\\"account\\\"],\\\"statements\\\":[[10,\\\"section\\\"],[14,1,\\\"contributor-profile\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"header\\\"],[12],[2,\\\"\\\\n \\\"],[8,\\\"user-avatar\\\",[],[[\\\"@contributor\\\",\\\"@size\\\"],[[32,0,[\\\"model\\\"]],\\\"medium\\\"]],null],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n\\\\n \\\"],[10,\\\"div\\\"],[14,0,\\\"content\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"h2\\\"],[12],[1,[32,0,[\\\"model\\\",\\\"name\\\"]]],[13],[2,\\\"\\\\n \\\"],[10,\\\"p\\\"],[14,0,\\\"role\\\"],[12],[1,[32,0,[\\\"roleName\\\"]]],[13],[2,\\\"\\\\n\\\\n \\\"],[10,\\\"ul\\\"],[14,0,\\\"external-accounts\\\"],[12],[2,\\\"\\\\n\\\"],[6,[37,1],[[30,[36,0],[[30,[36,0],[[32,0,[\\\"model\\\",\\\"accounts\\\"]]],null]],null]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\" \\\"],[10,\\\"li\\\"],[12],[2,\\\"\\\\n \\\"],[8,\\\"external-account-link\\\",[],[[\\\"@account\\\"],[[32,1]]],null],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[1]}]]],[6,[37,2],[[32,0,[\\\"model\\\",\\\"url\\\"]]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\" \\\"],[10,\\\"li\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"a\\\"],[15,6,[32,0,[\\\"model\\\",\\\"url\\\"]]],[14,\\\"target\\\",\\\"_blank\\\"],[14,\\\"rel\\\",\\\"noopener noreferrer\\\"],[14,\\\"title\\\",\\\"Website\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"span\\\"],[14,0,\\\"site\\\"],[12],[2,\\\"Web\\\"],[13],[2,\\\"\\\\n \\\"],[8,\\\"icon-web-globe\\\",[],[[],[]],null],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]]],[2,\\\" \\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"div\\\"],[14,0,\\\"actions\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"p\\\"],[12],[2,\\\"\\\\n \\\"],[8,\\\"link-to\\\",[[24,0,\\\"button green\\\"]],[[\\\"@route\\\",\\\"@query\\\"],[\\\"contributions.new\\\",[30,[36,3],null,[[\\\"contributorId\\\"],[[32,0,[\\\"model\\\",\\\"id\\\"]]]]]]],[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\"♥ Give kredits\\\"]],\\\"parameters\\\":[]}]]],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n\\\\n \\\"],[10,\\\"div\\\"],[14,0,\\\"actions\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"p\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"a\\\"],[15,6,[31,[\\\"https://explorer.testnet.rsk.co/address/\\\",[32,0,[\\\"model\\\",\\\"account\\\"]]]]],[14,0,\\\"button small\\\"],[14,\\\"target\\\",\\\"_blank\\\"],[14,\\\"rel\\\",\\\"noopener noreferrer\\\"],[12],[2,\\\"Inspect Rootstock transactions\\\"],[13],[2,\\\"\\\\n\\\"],[6,[37,2],[[32,0,[\\\"model\\\",\\\"ipfsHash\\\"]]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\" \\\"],[10,\\\"a\\\"],[15,6,[31,[[32,0,[\\\"ipfsGatewayUrl\\\"]],\\\"/\\\",[32,0,[\\\"model\\\",\\\"ipfsHash\\\"]]]]],[14,0,\\\"button small\\\"],[14,\\\"target\\\",\\\"_blank\\\"],[14,\\\"rel\\\",\\\"noopener noreferrer\\\"],[12],[2,\\\"Inspect IPFS profile\\\"],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]]],[2,\\\" \\\"],[8,\\\"link-to\\\",[[24,0,\\\"button small\\\"]],[[\\\"@route\\\",\\\"@model\\\"],[\\\"contributors.edit\\\",[32,0,[\\\"model\\\"]]]],[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\"Edit profile\\\"]],\\\"parameters\\\":[]}]]],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n\\\"],[13],[2,\\\"\\\\n\\\"]],\\\"hasEval\\\":false,\\\"upvars\\\":[\\\"-track-array\\\",\\\"each\\\",\\\"if\\\",\\\"hash\\\"]}\",\n \"meta\": {\n \"moduleName\": \"kredits-web/templates/dashboard/contributors/show.hbs\"\n }\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/templates/reimbursements/new\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.HTMLBars.template({\n \"id\": \"4ZGew5Lo\",\n \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[10,\\\"main\\\"],[14,0,\\\"center-column\\\"],[12],[2,\\\"\\\\n\\\\n \\\"],[10,\\\"section\\\"],[14,1,\\\"add-item\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"header\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"h2\\\"],[12],[2,\\\"Submit a Reimbursement\\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n\\\\n \\\"],[10,\\\"div\\\"],[14,0,\\\"content\\\"],[12],[2,\\\"\\\\n \\\"],[8,\\\"add-reimbursement\\\",[],[[\\\"@attributes\\\"],[[32,0,[\\\"model\\\",\\\"params\\\"]]]],null],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n\\\\n\\\"],[13]],\\\"hasEval\\\":false,\\\"upvars\\\":[]}\",\n \"meta\": {\n \"moduleName\": \"kredits-web/templates/reimbursements/new.hbs\"\n }\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/templates/signup\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.HTMLBars.template({\n \"id\": \"vyvqw+Xa\",\n \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[10,\\\"main\\\"],[14,0,\\\"center-column\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"section\\\"],[14,1,\\\"signup\\\"],[12],[2,\\\"\\\\n \\\"],[1,[30,[36,1],[[30,[36,0],null,null]],null]],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n\\\"],[13]],\\\"hasEval\\\":false,\\\"upvars\\\":[\\\"-outlet\\\",\\\"component\\\"]}\",\n \"meta\": {\n \"moduleName\": \"kredits-web/templates/signup.hbs\"\n }\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/templates/signup/account\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.HTMLBars.template({\n \"id\": \"juAngjy3\",\n \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[10,\\\"header\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"h2\\\"],[12],[2,\\\"Complete your contributor profile\\\"],[13],[2,\\\"\\\\n\\\"],[13],[2,\\\"\\\\n\\\"],[10,\\\"div\\\"],[14,0,\\\"content text-lg\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"p\\\"],[14,0,\\\"mb-8\\\"],[12],[2,\\\"\\\\n Kredits allow you to to earn rewards for your contributions, in the form of\\\\n dynamic open-source grants. As a regular contributor, you can also take\\\\n part in the community's project governance and finances.\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"p\\\"],[12],[2,\\\"\\\\n In order to interact with the system you will need a\\\\n \\\"],[10,\\\"a\\\"],[14,6,\\\"https://rootstock.io\\\"],[14,\\\"target\\\",\\\"_blank\\\"],[14,\\\"rel\\\",\\\"noopener noreferrer\\\"],[12],[2,\\\"Rootstock\\\"],[13],[2,\\\"\\\\n wallet/account.\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"form\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"p\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"label\\\"],[12],[2,\\\"\\\\n Rootstock address:\\\"],[10,\\\"br\\\"],[12],[13],[2,\\\"\\\\n \\\"],[8,\\\"input\\\",[[24,\\\"placeholder\\\",\\\"0xF18E631Ea191aE4ebE70046Fcb01a436554421BA4\\\"],[16,0,[30,[36,0],[[32,0,[\\\"isValidEthAccount\\\"]],\\\"valid\\\",\\\"\\\"],null]]],[[\\\"@type\\\",\\\"@value\\\"],[\\\"text\\\",[32,0,[\\\"accountAddress\\\"]]]],null],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"p\\\"],[14,0,\\\"actions\\\"],[12],[2,\\\"\\\\n \\\"],[11,\\\"button\\\"],[16,\\\"disabled\\\",[32,0,[\\\"signupButtonDisabled\\\"]]],[24,4,\\\"button\\\"],[4,[38,2],[\\\"click\\\",[30,[36,1],[[32,0,[\\\"completeSignup\\\"]]],null]],null],[12],[2,\\\"\\\\n Complete my profile\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n\\\"],[13]],\\\"hasEval\\\":false,\\\"upvars\\\":[\\\"if\\\",\\\"fn\\\",\\\"on\\\"]}\",\n \"meta\": {\n \"moduleName\": \"kredits-web/templates/signup/account.hbs\"\n }\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/templates/signup/complete\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.HTMLBars.template({\n \"id\": \"hc80mylW\",\n \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[10,\\\"header\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"h2\\\"],[12],[2,\\\"Welcome aboard!\\\"],[13],[2,\\\"\\\\n\\\"],[13],[2,\\\"\\\\n\\\"],[10,\\\"div\\\"],[14,0,\\\"content text-lg text-center\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"p\\\"],[12],[2,\\\"\\\\n Congratulations. Your initial profile is now complete.\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"p\\\"],[12],[2,\\\"\\\\n Why not say hi to your fellow contributors\\\\n \\\"],[10,\\\"a\\\"],[14,6,\\\"https://wiki.kosmos.org/Main_Page#Community_.2F_Getting_in_touch_.2F_Getting_involved\\\"],[14,\\\"target\\\",\\\"_blank\\\"],[14,\\\"rel\\\",\\\"noopener noreferrer\\\"],[12],[2,\\\"in one of our chat rooms\\\"],[13],[2,\\\"?.\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"p\\\"],[14,0,\\\"actions\\\"],[12],[2,\\\"\\\\n \\\"],[8,\\\"link-to\\\",[[24,0,\\\"button small\\\"]],[[\\\"@route\\\"],[\\\"dashboard\\\"]],[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\"Return to dashboard\\\"]],\\\"parameters\\\":[]}]]],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n\\\"],[13]],\\\"hasEval\\\":false,\\\"upvars\\\":[]}\",\n \"meta\": {\n \"moduleName\": \"kredits-web/templates/signup/complete.hbs\"\n }\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/templates/signup/index\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.HTMLBars.template({\n \"id\": \"NAvcexMu\",\n \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[10,\\\"header\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"h2\\\"],[12],[2,\\\"Create your contributor profile\\\"],[13],[2,\\\"\\\\n\\\"],[13],[2,\\\"\\\\n\\\"],[10,\\\"div\\\"],[14,0,\\\"content text-lg\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"p\\\"],[12],[2,\\\"\\\\n You have already contributed to a Kosmos project, or you are interested\\\\n in contributing in the near future? Fantastic!\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"p\\\"],[12],[2,\\\"\\\\n In order to earn kredits for your contributions, you will need a\\\\n registered contributor profile. The quickest way to register is by\\\\n connecting one of the following accounts:\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[10,\\\"p\\\"],[14,0,\\\"actions\\\"],[12],[2,\\\"\\\\n \\\"],[10,\\\"button\\\"],[15,\\\"onclick\\\",[30,[36,0],[[32,0],\\\"connectGithub\\\"],null]],[14,0,\\\"icon\\\"],[14,4,\\\"button\\\"],[12],[2,\\\"\\\\n \\\"],[8,\\\"icon-account-github-com\\\",[],[[],[]],null],[2,\\\"\\\\n Connect GitHub\\\\n \\\"],[13],[2,\\\"\\\\n \\\"],[13],[2,\\\"\\\\n\\\"],[13],[2,\\\"\\\\n\\\"]],\\\"hasEval\\\":false,\\\"upvars\\\":[\\\"action\\\"]}\",\n \"meta\": {\n \"moduleName\": \"kredits-web/templates/signup/index.hbs\"\n }\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/utils/format-kredits\", [\"exports\", \"ethers\"], function (_exports, _ethers) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = _default;\n\n function _default(value) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n var etherValue = _ethers.default.utils.formatEther(value);\n\n if (!options.decimals) {\n etherValue = parseInt(etherValue).toString();\n }\n\n return etherValue;\n }\n});","define(\"kredits-web/utils/get-locale\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = _default;\n\n function _default() {\n return navigator.languages && navigator.languages.length ? navigator.languages[0] : navigator.language;\n }\n});","define(\"kredits-web/utils/group-by\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = groupBy;\n\n function groupBy(collection, property) {\n var groups = Ember.A();\n var items = collection;\n\n if (items) {\n items.forEach(function (item) {\n var value = item[property];\n var group = groups.findBy('value', value);\n\n if (Ember.isPresent(group)) {\n group.items.push(item);\n } else {\n group = {\n property: property,\n value: value,\n items: [item]\n };\n groups.push(group);\n }\n });\n }\n\n return groups;\n }\n});","define(\"kredits-web/utils/is-valid-amount\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = isValidAmount;\n\n function isValidAmount(inputAmount) {\n var amount = parseFloat(inputAmount);\n\n if (Number.isNaN(amount)) {\n return false;\n } else {\n return amount > 0;\n }\n }\n});","define(\"kredits-web/utils/process-contribution-data\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = processContributionData;\n\n function processContributionData(data) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var processed = {};\n\n if (data.confirmedAtBlock && typeof data.confirmedAtBlock.toNumber === 'function') {\n processed.confirmedAt = data.confirmedAtBlock.toNumber();\n } else if (data.confirmedAt !== 'undefined') {\n processed.confirmedAt = data.confirmedAt;\n }\n\n var otherProperties = ['id', 'contributorId', 'amount', 'vetoed', 'ipfsHash', 'kind', 'description', 'url', 'date', 'time', 'pendingTx'];\n otherProperties.forEach(function (prop) {\n processed[prop] = data[prop];\n });\n\n if (options.includeDetails) {\n processed.details = data.details;\n }\n\n return processed;\n }\n});","define(\"kredits-web/utils/process-contributor-data\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = processContributorData;\n\n function processContributorData(data) {\n var _data$contributionsCo;\n\n var processed = {\n balance: data.balanceInt,\n totalKreditsEarned: data.totalKreditsEarned,\n contributionsCount: (_data$contributionsCo = data.contributionsCount) === null || _data$contributionsCo === void 0 ? void 0 : _data$contributionsCo.toNumber()\n };\n var otherProperties = ['id', 'account', 'accounts', 'ipfsHash', 'isCore', 'kind', 'name', 'url', 'github_username', 'github_uid', 'wiki_username', 'zoom_display_name'];\n otherProperties.forEach(function (prop) {\n processed[prop] = data[prop];\n });\n return processed;\n }\n});","define(\"kredits-web/utils/process-reimbursement-data\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = processReimbursementData;\n\n function processReimbursementData(data) {\n var processed = {\n amount: data.amount.toNumber()\n };\n\n if (data.confirmedAtBlock && typeof data.confirmedAtBlock.toNumber === 'function') {\n processed.confirmedAt = data.confirmedAtBlock.toNumber();\n } else if (data.confirmedAt !== 'undefined') {\n processed.confirmedAt = data.confirmedAt;\n }\n\n var otherProperties = ['id', 'recipientId', 'token', 'vetoed', 'ipfsHash', 'expenses', 'pendingTx'];\n otherProperties.forEach(function (prop) {\n processed[prop] = data[prop];\n });\n return processed;\n }\n});","define(\"kredits-web/utils/read-file-content\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = _default;\n\n function _default(file) {\n var reader = new FileReader();\n return new Promise(function (resolve, reject) {\n reader.onload = function (event) {\n return resolve(event.target.result);\n };\n\n reader.onerror = function (error) {\n return reject(error);\n };\n\n reader.readAsText(file);\n });\n }\n});","define(\"kredits-web/utils/switch-network\", [\"exports\", \"kredits-web/config/environment\"], function (_exports, _environment) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = _default;\n\n function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\n function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\n function _default() {\n return _ref.apply(this, arguments);\n }\n\n function _ref() {\n _ref = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {\n var networkName, chainId, chainIdHex;\n return regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n networkName = _environment.default.web3NetworkName;\n chainId = _environment.default.web3ChainId;\n chainIdHex = \"0x\".concat(Number(chainId).toString(16));\n _context.prev = 3;\n _context.next = 6;\n return window.ethereum.request({\n method: 'wallet_switchEthereumChain',\n params: [{\n chainId: chainIdHex\n }]\n });\n\n case 6:\n _context.next = 16;\n break;\n\n case 8:\n _context.prev = 8;\n _context.t0 = _context[\"catch\"](3);\n\n if (!(_context.t0.code === 4902)) {\n _context.next = 15;\n break;\n }\n\n _context.next = 13;\n return window.ethereum.request({\n method: 'wallet_addEthereumChain',\n params: [{\n chainId: chainIdHex,\n chainName: networkName,\n rpcUrls: [_environment.default.web3ProviderUrl],\n nativeCurrency: {\n name: 'tRBTC',\n symbol: 'tRBTC',\n decimals: 18\n }\n }]\n });\n\n case 13:\n _context.next = 16;\n break;\n\n case 15:\n console.warn('Failed to switch chains:', _context.t0.message);\n\n case 16:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, null, [[3, 8]]);\n }));\n return _ref.apply(this, arguments);\n }\n});","define('kredits-web/config/environment', [], function() {\n var prefix = 'kredits-web';\ntry {\n var metaName = prefix + '/config/environment';\n var rawConfig = document.querySelector('meta[name=\"' + metaName + '\"]').getAttribute('content');\n var config = JSON.parse(decodeURIComponent(rawConfig));\n\n var exports = { 'default': config };\n\n Object.defineProperty(exports, '__esModule', { value: true });\n\n return exports;\n}\ncatch(err) {\n throw new Error('Could not read config from meta tag with name \"' + metaName + '\".');\n}\n\n});\n","\n if (!runningTests) {\n require(\"kredits-web/app\")[\"default\"].create({\"name\":\"kredits-web\",\"version\":\"2.0.0+bdeab512\"});\n }\n \n"]} \ No newline at end of file diff --git a/release/assets/vendor-4ee536ded971436a83d35253df25f2cb.js b/release/assets/vendor-4d87b3e0995c5bb18e46836a089900a4.js similarity index 99% rename from release/assets/vendor-4ee536ded971436a83d35253df25f2cb.js rename to release/assets/vendor-4d87b3e0995c5bb18e46836a089900a4.js index 54ffc2f..9994de4 100644 --- a/release/assets/vendor-4ee536ded971436a83d35253df25f2cb.js +++ b/release/assets/vendor-4d87b3e0995c5bb18e46836a089900a4.js @@ -13415,7 +13415,7 @@ return this.kredits.ipfs._ipfsAPI.id().catch((function(t){throw new Error("IPFS return e.kredits.provider.getCode(r.contract.address).then((function(n){if("0x00"===n||n.length<5)throw new Error("Contract for: ".concat(t," not found at ").concat(r.contract.address," on network ").concat(e.kredits.provider.chainId)) return!0}))})) return Promise.all(t)}))}}])&&r(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e}() -e.exports=n},function(e){e.exports=JSON.parse('[{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint32","name":"id","type":"uint32"},{"indexed":false,"internalType":"address","name":"oldAccount","type":"address"},{"indexed":false,"internalType":"address","name":"newAccount","type":"address"}],"name":"ContributorAccountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint32","name":"id","type":"uint32"},{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"ContributorAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint32","name":"id","type":"uint32"},{"indexed":false,"internalType":"bytes32","name":"oldHashDigest","type":"bytes32"},{"indexed":false,"internalType":"bytes32","name":"newHashDigest","type":"bytes32"}],"name":"ContributorProfileUpdated","type":"event"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"hashDigest","type":"bytes32"},{"internalType":"uint8","name":"hashFunction","type":"uint8"},{"internalType":"uint8","name":"hashSize","type":"uint8"}],"name":"addContributor","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"addressExists","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"addressIsCore","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"contributionContract","outputs":[{"internalType":"contract IContributionBalance","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"contributorIds","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint32","name":"","type":"uint32"}],"name":"contributors","outputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"hashDigest","type":"bytes32"},{"internalType":"uint8","name":"hashFunction","type":"uint8"},{"internalType":"uint8","name":"hashSize","type":"uint8"},{"internalType":"bool","name":"exists","type":"bool"},{"internalType":"uint32","name":"kreditsWithdrawn","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"contributorsCount","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"coreContributorsCount","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"deployer","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint32","name":"id","type":"uint32"}],"name":"exists","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint32","name":"id","type":"uint32"}],"name":"getContributorAddressById","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint32","name":"_id","type":"uint32"}],"name":"getContributorById","outputs":[{"internalType":"uint32","name":"id","type":"uint32"},{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"hashDigest","type":"bytes32"},{"internalType":"uint8","name":"hashFunction","type":"uint8"},{"internalType":"uint8","name":"hashSize","type":"uint8"},{"internalType":"bool","name":"isCore","type":"bool"},{"internalType":"uint256","name":"balance","type":"uint256"},{"internalType":"uint32","name":"totalKreditsEarned","type":"uint32"},{"internalType":"uint256","name":"contributionsCount","type":"uint256"},{"internalType":"bool","name":"exists","type":"bool"},{"internalType":"uint256","name":"kreditsWithdrawn","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"getContributorIdByAddress","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint32","name":"id","type":"uint32"}],"name":"isCoreTeam","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"contribution","type":"address"}],"name":"setContributionContract","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"name":"setTokenContract","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"tokenContract","outputs":[{"internalType":"contract IToken","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint32","name":"id","type":"uint32"},{"internalType":"address","name":"oldAccount","type":"address"},{"internalType":"address","name":"newAccount","type":"address"}],"name":"updateContributorAccount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint32","name":"id","type":"uint32"},{"internalType":"bytes32","name":"hashDigest","type":"bytes32"},{"internalType":"uint8","name":"hashFunction","type":"uint8"},{"internalType":"uint8","name":"hashSize","type":"uint8"}],"name":"updateContributorProfileHash","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"}]')},function(e){e.exports=JSON.parse('[{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint32","name":"id","type":"uint32"},{"indexed":true,"internalType":"uint32","name":"contributorId","type":"uint32"},{"indexed":false,"internalType":"uint32","name":"amount","type":"uint32"}],"name":"ContributionAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint32","name":"id","type":"uint32"},{"indexed":false,"internalType":"address","name":"vetoedByAccount","type":"address"}],"name":"ContributionVetoed","type":"event"},{"inputs":[{"internalType":"uint32","name":"amount","type":"uint32"},{"internalType":"uint32","name":"contributorId","type":"uint32"},{"internalType":"bytes32","name":"hashDigest","type":"bytes32"},{"internalType":"uint8","name":"hashFunction","type":"uint8"},{"internalType":"uint8","name":"hashSize","type":"uint8"},{"internalType":"uint256","name":"confirmedAtBlock","type":"uint256"},{"internalType":"bool","name":"vetoed","type":"bool"}],"name":"add","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"blocksToWait","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint32","name":"","type":"uint32"}],"name":"contributionOwner","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint32","name":"","type":"uint32"}],"name":"contributions","outputs":[{"internalType":"uint32","name":"contributorId","type":"uint32"},{"internalType":"uint32","name":"amount","type":"uint32"},{"internalType":"bytes32","name":"hashDigest","type":"bytes32"},{"internalType":"uint8","name":"hashFunction","type":"uint8"},{"internalType":"uint8","name":"hashSize","type":"uint8"},{"internalType":"string","name":"tokenMetadataURL","type":"string"},{"internalType":"uint256","name":"confirmedAtBlock","type":"uint256"},{"internalType":"bool","name":"vetoed","type":"bool"},{"internalType":"bool","name":"exists","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"contributionsCount","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"contributorContract","outputs":[{"internalType":"contract ContributorInterface","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"deployer","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint32","name":"contributionId","type":"uint32"}],"name":"exists","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"finishMigration","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint32","name":"contributionId","type":"uint32"}],"name":"getContribution","outputs":[{"internalType":"uint32","name":"id","type":"uint32"},{"internalType":"uint32","name":"contributorId","type":"uint32"},{"internalType":"uint32","name":"amount","type":"uint32"},{"internalType":"bytes32","name":"hashDigest","type":"bytes32"},{"internalType":"uint8","name":"hashFunction","type":"uint8"},{"internalType":"uint8","name":"hashSize","type":"uint8"},{"internalType":"uint256","name":"confirmedAtBlock","type":"uint256"},{"internalType":"bool","name":"exists","type":"bool"},{"internalType":"bool","name":"vetoed","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint32","name":"contributorId","type":"uint32"}],"name":"getContributorAddressById","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"contributorAccount","type":"address"}],"name":"getContributorIdByAddress","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint32","name":"blocksToWait_","type":"uint32"}],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"migrationDone","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint32","name":"","type":"uint32"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"ownedContributions","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint32","name":"contributionId","type":"uint32"}],"name":"ownerOf","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"contributor","type":"address"}],"name":"setContributorContract","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint32","name":"contributionId","type":"uint32"}],"name":"tokenMetadata","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint32","name":"index","type":"uint32"}],"name":"tokenOfOwnerByIndex","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"confirmedOnly","type":"bool"}],"name":"totalKreditsEarned","outputs":[{"internalType":"uint32","name":"amount","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint32","name":"contributorId","type":"uint32"},{"internalType":"bool","name":"confirmedOnly","type":"bool"}],"name":"totalKreditsEarnedByContributor","outputs":[{"internalType":"uint32","name":"amount","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint32","name":"contributionId","type":"uint32"}],"name":"veto","outputs":[],"stateMutability":"nonpayable","type":"function"}]')},function(e){e.exports=JSON.parse('[{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint32","name":"id","type":"uint32"},{"indexed":true,"internalType":"address","name":"addedByAccount","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"ReimbursementAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint32","name":"id","type":"uint32"},{"indexed":false,"internalType":"address","name":"vetoedByAccount","type":"address"}],"name":"ReimbursementVetoed","type":"event"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"address","name":"token","type":"address"},{"internalType":"uint32","name":"recipientId","type":"uint32"},{"internalType":"bytes32","name":"hashDigest","type":"bytes32"},{"internalType":"uint8","name":"hashFunction","type":"uint8"},{"internalType":"uint8","name":"hashSize","type":"uint8"}],"name":"add","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"blocksToWait","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"contributorContract","outputs":[{"internalType":"contract ContributorInterface","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint32","name":"reimbursementId","type":"uint32"}],"name":"exists","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint32","name":"reimbursementId","type":"uint32"}],"name":"get","outputs":[{"internalType":"uint32","name":"id","type":"uint32"},{"internalType":"uint32","name":"recipientId","type":"uint32"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"address","name":"token","type":"address"},{"internalType":"bytes32","name":"hashDigest","type":"bytes32"},{"internalType":"uint8","name":"hashFunction","type":"uint8"},{"internalType":"uint8","name":"hashSize","type":"uint8"},{"internalType":"uint256","name":"confirmedAtBlock","type":"uint256"},{"internalType":"bool","name":"exists","type":"bool"},{"internalType":"bool","name":"vetoed","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint32","name":"contributorId","type":"uint32"}],"name":"getContributorAddressById","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"contributorAccount","type":"address"}],"name":"getContributorIdByAddress","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint32","name":"","type":"uint32"}],"name":"reimbursements","outputs":[{"internalType":"uint32","name":"recipientId","type":"uint32"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"address","name":"token","type":"address"},{"internalType":"bytes32","name":"hashDigest","type":"bytes32"},{"internalType":"uint8","name":"hashFunction","type":"uint8"},{"internalType":"uint8","name":"hashSize","type":"uint8"},{"internalType":"uint256","name":"confirmedAtBlock","type":"uint256"},{"internalType":"bool","name":"vetoed","type":"bool"},{"internalType":"bool","name":"exists","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"reimbursementsCount","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"contributor","type":"address"}],"name":"setContributorContract","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"confirmedOnly","type":"bool"}],"name":"totalAmount","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint32","name":"reimbursementId","type":"uint32"}],"name":"veto","outputs":[],"stateMutability":"nonpayable","type":"function"}]')},function(e){e.exports=JSON.parse('[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"recipient","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"KreditsMinted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"contributorContract","outputs":[{"internalType":"contract ContributorInterface","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"contributorContractAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"contributorAccount","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"mintFor","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"contributor","type":"address"}],"name":"setContributorContract","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}]')},function(e){e.exports=JSON.parse('{"31":{"Contributor":"0xf1073Dab6e305583F95e451Cba449bB867a6e3Fd","Contribution":"0x1C531F824e339cD37D75B7F391cB8E42e0E0d4bd","Token":"0x56F64C3BB45e6a248F4C783f5a1633E53D6A2371","Reimbursement":"0x9C5fFBFba2570A9b31D60338453C5480Ce74B342"},"1337":{"Contributor":"0xCc66f9A3cA2670972938FAD91d0865c4a62DFB25","Contribution":"0x8999CaBc43E28202c5A2257f2a95A45b1F8A62BD","Token":"0xe082678eCF749982e33Ea6839852a8cd989aEDE2","Reimbursement":"0x984f797d26d3da2E9b9f8Ae4eeFEACC60fCAA90C"}}')},function(e,t,r){e.exports={Contributor:r(209),Contribution:r(217),Proposal:r(218),Token:r(219),Reimbursement:r(220)}},function(e,t,r){function n(e){return(n="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 i(e,t,r,n,i,o,a){try{var s=e[o](a),u=s.value}catch(e){return void r(e)}s.done?t(u):Promise.resolve(u).then(n,i)}function o(e){return function(){var t=this,r=arguments +e.exports=n},function(e){e.exports=JSON.parse('[{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint32","name":"id","type":"uint32"},{"indexed":false,"internalType":"address","name":"oldAccount","type":"address"},{"indexed":false,"internalType":"address","name":"newAccount","type":"address"}],"name":"ContributorAccountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint32","name":"id","type":"uint32"},{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"ContributorAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint32","name":"id","type":"uint32"},{"indexed":false,"internalType":"bytes32","name":"oldHashDigest","type":"bytes32"},{"indexed":false,"internalType":"bytes32","name":"newHashDigest","type":"bytes32"}],"name":"ContributorProfileUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint8","name":"version","type":"uint8"}],"name":"Initialized","type":"event"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"hashDigest","type":"bytes32"},{"internalType":"uint8","name":"hashFunction","type":"uint8"},{"internalType":"uint8","name":"hashSize","type":"uint8"}],"name":"addContributor","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"addressExists","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"addressIsCore","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"contributionContract","outputs":[{"internalType":"contract IContributionBalance","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"contributorIds","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint32","name":"","type":"uint32"}],"name":"contributors","outputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"hashDigest","type":"bytes32"},{"internalType":"uint8","name":"hashFunction","type":"uint8"},{"internalType":"uint8","name":"hashSize","type":"uint8"},{"internalType":"bool","name":"exists","type":"bool"},{"internalType":"uint32","name":"kreditsWithdrawn","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"contributorsCount","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"coreContributorsCount","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"deployer","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint32","name":"id","type":"uint32"}],"name":"exists","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint32","name":"id","type":"uint32"}],"name":"getContributorAddressById","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint32","name":"_id","type":"uint32"}],"name":"getContributorById","outputs":[{"internalType":"uint32","name":"id","type":"uint32"},{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"hashDigest","type":"bytes32"},{"internalType":"uint8","name":"hashFunction","type":"uint8"},{"internalType":"uint8","name":"hashSize","type":"uint8"},{"internalType":"bool","name":"isCore","type":"bool"},{"internalType":"uint256","name":"balance","type":"uint256"},{"internalType":"uint32","name":"totalKreditsEarned","type":"uint32"},{"internalType":"uint256","name":"contributionsCount","type":"uint256"},{"internalType":"bool","name":"exists","type":"bool"},{"internalType":"uint256","name":"kreditsWithdrawn","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"getContributorIdByAddress","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"profileManagerAddress","type":"address"}],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint32","name":"id","type":"uint32"}],"name":"isCoreTeam","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"profileManager","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"profileManagerAddress","type":"address"}],"name":"reinitialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"contribution","type":"address"}],"name":"setContributionContract","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"name":"setTokenContract","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"tokenContract","outputs":[{"internalType":"contract IToken","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint32","name":"id","type":"uint32"},{"internalType":"address","name":"oldAccount","type":"address"},{"internalType":"address","name":"newAccount","type":"address"}],"name":"updateContributorAccount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint32","name":"id","type":"uint32"},{"internalType":"bytes32","name":"hashDigest","type":"bytes32"},{"internalType":"uint8","name":"hashFunction","type":"uint8"},{"internalType":"uint8","name":"hashSize","type":"uint8"}],"name":"updateContributorProfileHash","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"}]')},function(e){e.exports=JSON.parse('[{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint32","name":"id","type":"uint32"},{"indexed":true,"internalType":"uint32","name":"contributorId","type":"uint32"},{"indexed":false,"internalType":"uint32","name":"amount","type":"uint32"}],"name":"ContributionAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint32","name":"id","type":"uint32"},{"indexed":false,"internalType":"address","name":"vetoedByAccount","type":"address"}],"name":"ContributionVetoed","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint8","name":"version","type":"uint8"}],"name":"Initialized","type":"event"},{"inputs":[{"internalType":"uint32","name":"amount","type":"uint32"},{"internalType":"uint32","name":"contributorId","type":"uint32"},{"internalType":"bytes32","name":"hashDigest","type":"bytes32"},{"internalType":"uint8","name":"hashFunction","type":"uint8"},{"internalType":"uint8","name":"hashSize","type":"uint8"},{"internalType":"uint256","name":"confirmedAtBlock","type":"uint256"},{"internalType":"bool","name":"vetoed","type":"bool"}],"name":"add","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"blocksToWait","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint32","name":"","type":"uint32"}],"name":"contributionOwner","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint32","name":"","type":"uint32"}],"name":"contributions","outputs":[{"internalType":"uint32","name":"contributorId","type":"uint32"},{"internalType":"uint32","name":"amount","type":"uint32"},{"internalType":"bytes32","name":"hashDigest","type":"bytes32"},{"internalType":"uint8","name":"hashFunction","type":"uint8"},{"internalType":"uint8","name":"hashSize","type":"uint8"},{"internalType":"string","name":"tokenMetadataURL","type":"string"},{"internalType":"uint256","name":"confirmedAtBlock","type":"uint256"},{"internalType":"bool","name":"vetoed","type":"bool"},{"internalType":"bool","name":"exists","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"contributionsCount","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"contributorContract","outputs":[{"internalType":"contract ContributorInterface","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"deployer","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint32","name":"contributionId","type":"uint32"}],"name":"exists","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"finishMigration","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint32","name":"contributionId","type":"uint32"}],"name":"getContribution","outputs":[{"internalType":"uint32","name":"id","type":"uint32"},{"internalType":"uint32","name":"contributorId","type":"uint32"},{"internalType":"uint32","name":"amount","type":"uint32"},{"internalType":"bytes32","name":"hashDigest","type":"bytes32"},{"internalType":"uint8","name":"hashFunction","type":"uint8"},{"internalType":"uint8","name":"hashSize","type":"uint8"},{"internalType":"uint256","name":"confirmedAtBlock","type":"uint256"},{"internalType":"bool","name":"exists","type":"bool"},{"internalType":"bool","name":"vetoed","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint32","name":"contributorId","type":"uint32"}],"name":"getContributorAddressById","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"contributorAccount","type":"address"}],"name":"getContributorIdByAddress","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint32","name":"blocksToWait_","type":"uint32"}],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"migrationDone","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint32","name":"","type":"uint32"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"ownedContributions","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint32","name":"contributionId","type":"uint32"}],"name":"ownerOf","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"contributor","type":"address"}],"name":"setContributorContract","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint32","name":"contributionId","type":"uint32"}],"name":"tokenMetadata","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint32","name":"index","type":"uint32"}],"name":"tokenOfOwnerByIndex","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"confirmedOnly","type":"bool"}],"name":"totalKreditsEarned","outputs":[{"internalType":"uint32","name":"amount","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint32","name":"contributorId","type":"uint32"},{"internalType":"bool","name":"confirmedOnly","type":"bool"}],"name":"totalKreditsEarnedByContributor","outputs":[{"internalType":"uint32","name":"amount","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint32","name":"contributionId","type":"uint32"}],"name":"veto","outputs":[],"stateMutability":"nonpayable","type":"function"}]')},function(e){e.exports=JSON.parse('[{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint8","name":"version","type":"uint8"}],"name":"Initialized","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint32","name":"id","type":"uint32"},{"indexed":true,"internalType":"address","name":"addedByAccount","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"ReimbursementAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint32","name":"id","type":"uint32"},{"indexed":false,"internalType":"address","name":"vetoedByAccount","type":"address"}],"name":"ReimbursementVetoed","type":"event"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"address","name":"token","type":"address"},{"internalType":"uint32","name":"recipientId","type":"uint32"},{"internalType":"bytes32","name":"hashDigest","type":"bytes32"},{"internalType":"uint8","name":"hashFunction","type":"uint8"},{"internalType":"uint8","name":"hashSize","type":"uint8"}],"name":"add","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"blocksToWait","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"contributorContract","outputs":[{"internalType":"contract ContributorInterface","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint32","name":"reimbursementId","type":"uint32"}],"name":"exists","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint32","name":"reimbursementId","type":"uint32"}],"name":"get","outputs":[{"internalType":"uint32","name":"id","type":"uint32"},{"internalType":"uint32","name":"recipientId","type":"uint32"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"address","name":"token","type":"address"},{"internalType":"bytes32","name":"hashDigest","type":"bytes32"},{"internalType":"uint8","name":"hashFunction","type":"uint8"},{"internalType":"uint8","name":"hashSize","type":"uint8"},{"internalType":"uint256","name":"confirmedAtBlock","type":"uint256"},{"internalType":"bool","name":"exists","type":"bool"},{"internalType":"bool","name":"vetoed","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint32","name":"contributorId","type":"uint32"}],"name":"getContributorAddressById","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"contributorAccount","type":"address"}],"name":"getContributorIdByAddress","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint32","name":"","type":"uint32"}],"name":"reimbursements","outputs":[{"internalType":"uint32","name":"recipientId","type":"uint32"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"address","name":"token","type":"address"},{"internalType":"bytes32","name":"hashDigest","type":"bytes32"},{"internalType":"uint8","name":"hashFunction","type":"uint8"},{"internalType":"uint8","name":"hashSize","type":"uint8"},{"internalType":"uint256","name":"confirmedAtBlock","type":"uint256"},{"internalType":"bool","name":"vetoed","type":"bool"},{"internalType":"bool","name":"exists","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"reimbursementsCount","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"contributor","type":"address"}],"name":"setContributorContract","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"confirmedOnly","type":"bool"}],"name":"totalAmount","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint32","name":"reimbursementId","type":"uint32"}],"name":"veto","outputs":[],"stateMutability":"nonpayable","type":"function"}]')},function(e){e.exports=JSON.parse('[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint8","name":"version","type":"uint8"}],"name":"Initialized","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"recipient","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"KreditsMinted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"contributorContract","outputs":[{"internalType":"contract ContributorInterface","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"contributorContractAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"contributorAccount","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"mintFor","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"contributor","type":"address"}],"name":"setContributorContract","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}]')},function(e){e.exports=JSON.parse('{"31":{"Contributor":"0x95DC31665D193E377f54b70C535fcDb205525291","Contribution":"0x049bA8E70FEbFfd6d03C71211bDA37B4ff064115","Token":"0x7ab26A0f00eF0D6e05e5BDE047505a4eD53aF809","Reimbursement":"0x99EC72b34295b62f4bC1527Da461262c615a0b2c"},"1337":{"Contributor":"0xCc66f9A3cA2670972938FAD91d0865c4a62DFB25","Contribution":"0x8999CaBc43E28202c5A2257f2a95A45b1F8A62BD","Token":"0xe082678eCF749982e33Ea6839852a8cd989aEDE2","Reimbursement":"0x984f797d26d3da2E9b9f8Ae4eeFEACC60fCAA90C"}}')},function(e,t,r){e.exports={Contributor:r(209),Contribution:r(217),Proposal:r(218),Token:r(219),Reimbursement:r(220)}},function(e,t,r){function n(e){return(n="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 i(e,t,r,n,i,o,a){try{var s=e[o](a),u=s.value}catch(e){return void r(e)}s.done?t(u):Promise.resolve(u).then(n,i)}function o(e){return function(){var t=this,r=arguments return new Promise((function(n,o){var a=e.apply(t,r) function s(e){i(a,n,o,s,u,"next",e)}function u(e){i(a,n,o,s,u,"throw",e)}s(void 0)}))}}function a(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"] if(null!=r){var n,i,o=[],a=!0,s=!1 @@ -13752,7 +13752,7 @@ return e}(e)}function l(e){return(l=Object.setPrototypeOf?Object.getPrototypeOf: e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&s(e,t)}(f,e) var t,r,n,c,l=u(f) function f(){return o(this,f),l.apply(this,arguments)}return t=f,(r=[{key:"count",get:function(){return this.contract.reimbursementsCount()}},{key:"getById",value:function(e){var t=this -return this.contract.get(e).then((function(e){return t.ipfs.catAndMerge(e,(function(e){return{expenses:JSON.parse(e)}}))}))}},{key:"getData",value:function(e){return this.contract.getReimbursement(e)}},{key:"add",value:(n=regeneratorRuntime.mark((function e(t){var r,n,i,o,a,s,u=this,c=arguments +return this.contract.get(e).then((function(e){return t.ipfs.catAndMerge(e,(function(e){return{expenses:JSON.parse(e)}}))}))}},{key:"getData",value:function(e){return this.contract.get(e)}},{key:"add",value:(n=regeneratorRuntime.mark((function e(t){var r,n,i,o,a,s,u=this,c=arguments return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=c.length>1&&void 0!==c[1]?c[1]:{},n=parseInt(t.amount),i=t.token,o=t.recipientId,a=t.expenses.map((function(e){return new h(e)})),("number"!=typeof n||n<=0)&&(s="Invalid data: amount must be a positive number."),i&&""!==i||(s="Invalid data: token must be a token address."),o&&""!==o||(s="Invalid data: recipientId is required."),0===a.length&&(s="Invalid data: at least one expense item is required."),!s){e.next=11 break}return e.abrupt("return",Promise.reject(new Error(s))) case 11:return e.abrupt("return",Promise.all(a.map((function(e){return e.validate()}))).then((function(){var e=JSON.stringify(a.map((function(e){return e.data})),null,2) diff --git a/release/index.html b/release/index.html index 1f0d566..67aa7cb 100644 --- a/release/index.html +++ b/release/index.html @@ -8,7 +8,7 @@ - + @@ -24,8 +24,8 @@ - - + +