From 1a3c8c0c1e60671a5d6b31c9c64c1b1c0a65a42d Mon Sep 17 00:00:00 2001 From: Damien Elmes Date: Fri, 11 Feb 2011 07:37:41 +0900 Subject: [PATCH] remove views and pre 0.9.9.8.6 upgrade code; upgrade test decks to 0.9.9.8.6 --- anki/deck.py | 407 +------------------------------ tests/importing/test03.anki | Bin 3933 -> 0 bytes tests/importing/test10-2.anki | Bin 31744 -> 180224 bytes tests/importing/test10-3.anki | Bin 40960 -> 180224 bytes tests/importing/test10.anki | Bin 31744 -> 180224 bytes tests/syncing/media-tests/1.anki | Bin 43008 -> 180224 bytes tests/syncing/media-tests/2.anki | Bin 43008 -> 184320 bytes 7 files changed, 6 insertions(+), 401 deletions(-) delete mode 100644 tests/importing/test03.anki diff --git a/anki/deck.py b/anki/deck.py index 50f7cc9f4..aaaf88282 100644 --- a/anki/deck.py +++ b/anki/deck.py @@ -3122,7 +3122,6 @@ where id = :id""", fid=f.id, cmid=m.cardModels[0].id, id=id) "Please restore from automatic backup (see FAQ).") # ensure correct views and indexes are available self.updateProgress() - DeckStorage._addViews(self) DeckStorage._addIndices(self) # does the user have a model? self.updateProgress(_("Checking schema...")) @@ -3571,7 +3570,6 @@ class DeckStorage(object): deck.s.execute("vacuum") # add views/indices initTagTables(deck.s) - DeckStorage._addViews(deck) DeckStorage._addIndices(deck) deck.s.statement("analyze") deck._initVars() @@ -3734,59 +3732,6 @@ create index if not exists ix_cardTags_tagCard on cardTags (tagId, cardId)""") create index if not exists ix_cardTags_cardId on cardTags (cardId)""") _addIndices = staticmethod(_addIndices) - def _addViews(deck): - "Add latest version of SQL views to DB." - s = deck.s - # old views - s.statement("drop view if exists failedCards") - s.statement("drop view if exists revCardsOld") - s.statement("drop view if exists revCardsNew") - s.statement("drop view if exists revCardsDue") - s.statement("drop view if exists revCardsRandom") - s.statement("drop view if exists acqCardsRandom") - s.statement("drop view if exists acqCardsOld") - s.statement("drop view if exists acqCardsNew") - # failed cards - s.statement(""" -create view failedCards as -select * from cards -where type = 0 and isDue = 1 -order by type, isDue, combinedDue -""") - # rev cards - s.statement(""" -create view revCardsOld as -select * from cards -where type = 1 and isDue = 1 -order by priority desc, interval desc""") - s.statement(""" -create view revCardsNew as -select * from cards -where type = 1 and isDue = 1 -order by priority desc, interval""") - s.statement(""" -create view revCardsDue as -select * from cards -where type = 1 and isDue = 1 -order by priority desc, due""") - s.statement(""" -create view revCardsRandom as -select * from cards -where type = 1 and isDue = 1 -order by priority desc, factId, ordinal""") - # new cards - s.statement(""" -create view acqCardsOld as -select * from cards -where type = 2 and isDue = 1 -order by priority desc, due""") - s.statement(""" -create view acqCardsNew as -select * from cards -where type = 2 and isDue = 1 -order by priority desc, due desc""") - _addViews = staticmethod(_addViews) - def _upgradeDeck(deck, path): "Upgrade deck to the latest version." if deck.version < DECK_VERSION: @@ -3801,353 +3746,8 @@ order by priority desc, due desc""") else: prog = False deck.path = path - if deck.version == 0: - # new columns - try: - deck.s.statement(""" - alter table cards add column spaceUntil float not null default 0""") - deck.s.statement(""" - alter table cards add column relativeDelay float not null default 0.0""") - deck.s.statement(""" - alter table cards add column isDue boolean not null default 0""") - deck.s.statement(""" - alter table cards add column type integer not null default 0""") - deck.s.statement(""" - alter table cards add column combinedDue float not null default 0""") - # update cards.spaceUntil based on old facts - deck.s.statement(""" - update cards - set spaceUntil = (select (case - when cards.id = facts.lastCardId - then 0 - else facts.spaceUntil - end) from cards as c, facts - where c.factId = facts.id - and cards.id = c.id)""") - deck.s.statement(""" - update cards - set combinedDue = max(due, spaceUntil) - """) - except: - print "failed to upgrade" - # rebuild with new file format - deck.s.commit() - deck.s.execute("pragma legacy_file_format = off") - deck.s.execute("vacuum") - # add views/indices - DeckStorage._addViews(deck) - DeckStorage._addIndices(deck) - # rebuild type and delay cache - deck.rebuildTypes() - deck.reset() - # bump version - deck.version = 1 - # optimize indices - deck.s.statement("analyze") - if deck.version == 1: - # fix indexes and views - deck.s.statement("drop index if exists ix_cards_newRandomOrder") - deck.s.statement("drop index if exists ix_cards_newOrderedOrder") - DeckStorage._addViews(deck) - DeckStorage._addIndices(deck) - deck.rebuildTypes() - # optimize indices - deck.s.statement("analyze") - deck.version = 2 - if deck.version == 2: - # compensate for bug in 0.9.7 by rebuilding isDue and priorities - deck.s.statement("update cards set isDue = 0") - # compensate for bug in early 0.9.x where fieldId was not unique - deck.s.statement("update fields set id = random()") - deck.version = 3 - if deck.version == 3: - # remove conflicting and unused indexes - deck.s.statement("drop index if exists ix_cards_isDueCombined") - deck.s.statement("drop index if exists ix_facts_lastCardId") - deck.s.statement("drop index if exists ix_cards_successive") - deck.s.statement("drop index if exists ix_cards_priority") - deck.s.statement("drop index if exists ix_cards_reps") - deck.s.statement("drop index if exists ix_cards_due") - deck.s.statement("drop index if exists ix_stats_type") - deck.s.statement("drop index if exists ix_stats_day") - deck.s.statement("drop index if exists ix_factsDeleted_cardId") - deck.s.statement("drop index if exists ix_modelsDeleted_cardId") - DeckStorage._addIndices(deck) - deck.s.statement("analyze") - deck.version = 4 - if deck.version == 4: - # decks field upgraded earlier - deck.version = 5 - if deck.version == 5: - # new spacing - deck.newCardSpacing = NEW_CARDS_DISTRIBUTE - deck.version = 6 - # low priority cards now stay in same queue - deck.rebuildTypes() - if deck.version == 6: - # removed 'new cards first' option, so order has changed - deck.newCardSpacing = NEW_CARDS_DISTRIBUTE - deck.version = 7 - # 8 upgrade code removed as obsolete> - if deck.version < 9: - # back up the media dir again, just in case - shutil.copytree(deck.mediaDir(create=True), - deck.mediaDir() + "-old-%s" % - hash(time.time())) - # backup media - media = deck.s.all(""" -select filename, size, created, originalPath, description from media""") - # fix mediaDeleted definition - deck.s.execute("drop table mediaDeleted") - deck.s.execute("drop table media") - metadata.create_all(deck.engine) - # restore - h = [] - for row in media: - h.append({ - 'id': genID(), - 'filename': row[0], - 'size': row[1], - 'created': row[2], - 'originalPath': row[3], - 'description': row[4]}) - if h: - deck.s.statements(""" -insert into media values ( -:id, :filename, :size, :created, :originalPath, :description)""", h) - deck.version = 9 - if deck.version < 10: - deck.s.statement(""" -alter table models add column source integer not null default 0""") - deck.version = 10 - if deck.version < 11: - DeckStorage._setUTCOffset(deck) - deck.version = 11 - deck.s.commit() - if deck.version < 12: - deck.s.statement("drop index if exists ix_cards_revisionOrder") - deck.s.statement("drop index if exists ix_cards_newRandomOrder") - deck.s.statement("drop index if exists ix_cards_newOrderedOrder") - deck.s.statement("drop index if exists ix_cards_markExpired") - deck.s.statement("drop index if exists ix_cards_failedIsDue") - deck.s.statement("drop index if exists ix_cards_failedOrder") - deck.s.statement("drop index if exists ix_cards_type") - deck.s.statement("drop index if exists ix_cards_priority") - DeckStorage._addViews(deck) - DeckStorage._addIndices(deck) - deck.s.statement("analyze") - if deck.version < 13: - deck.reset() - deck.rebuildCounts() - # regenerate question/answer cache - for m in deck.models: - deck.updateCardsFromModel(m, dirty=False) - deck.version = 13 - if deck.version < 14: - deck.s.statement(""" -update cards set interval = 0 -where interval < 1""") - deck.version = 14 - if deck.version < 15: - deck.delay1 = deck.delay0 - deck.delay2 = 0.0 - deck.version = 15 - if deck.version < 16: - deck.version = 16 - if deck.version < 17: - deck.s.statement("drop view if exists acqCards") - deck.s.statement("drop view if exists futureCards") - deck.s.statement("drop view if exists revCards") - deck.s.statement("drop view if exists typedCards") - deck.s.statement("drop view if exists failedCardsNow") - deck.s.statement("drop view if exists failedCardsSoon") - deck.s.statement("drop index if exists ix_cards_revisionOrder") - deck.s.statement("drop index if exists ix_cards_newRandomOrder") - deck.s.statement("drop index if exists ix_cards_newOrderedOrder") - deck.s.statement("drop index if exists ix_cards_combinedDue") - # add new views - DeckStorage._addViews(deck) - DeckStorage._addIndices(deck) - deck.version = 17 - if deck.version < 18: - deck.s.statement( - "create table undoLog (seq integer primary key, sql text)") - deck.version = 18 - deck.s.commit() - DeckStorage._addIndices(deck) - deck.s.statement("analyze") - if deck.version < 19: - # permanent undo log causes various problems, revert to temp - deck.s.statement("drop table undoLog") - deck.sessionTimeLimit = 600 - deck.sessionRepLimit = 0 - deck.version = 19 - deck.s.commit() - if deck.version < 20: - DeckStorage._addViews(deck) - DeckStorage._addIndices(deck) - deck.version = 20 - deck.s.commit() - if deck.version < 21: - deck.s.statement("vacuum") - deck.s.statement("analyze") - deck.version = 21 - deck.s.commit() - if deck.version < 22: - deck.s.statement( - 'update cardModels set typeAnswer = ""') - deck.version = 22 - deck.s.commit() - if deck.version < 23: - try: - deck.s.execute("drop table undoLog") - except: - pass - deck.version = 23 - deck.s.commit() - if deck.version < 24: - deck.s.statement( - "update cardModels set lastFontColour = '#ffffff'") - deck.version = 24 - deck.s.commit() - if deck.version < 25: - deck.s.statement("drop index if exists ix_cards_priorityDue") - deck.s.statement("drop index if exists ix_cards_priorityDueReal") - DeckStorage._addViews(deck) - DeckStorage._addIndices(deck) - deck.updateDynamicIndices() - deck.version = 25 - deck.s.commit() - if deck.version < 26: - # no spaces in tags anymore, as separated by space - def munge(tags): - tags = re.sub(", ?", "--tmp--", tags) - tags = re.sub(" - ", "-", tags) - tags = re.sub(" ", "-", tags) - tags = re.sub("--tmp--", " ", tags) - tags = canonifyTags(tags) - return tags - rows = deck.s.all('select id, tags from facts') - d = [] - for (id, tags) in rows: - d.append({ - 'i': id, - 't': munge(tags), - }) - deck.s.statements( - "update facts set tags = :t where id = :i", d) - for k in ('highPriority', 'medPriority', - 'lowPriority', 'suspended'): - x = getattr(deck, k) - setattr(deck, k, munge(x)) - for m in deck.models: - for cm in m.cardModels: - cm.name = munge(cm.name) - m.tags = munge(m.tags) - deck.updateCardsFromModel(m, dirty=False) - deck.version = 26 - deck.s.commit() - deck.s.statement("vacuum") - if deck.version < 27: - DeckStorage._addIndices(deck) - deck.updateCardTags() - deck.version = 27 - deck.s.commit() - if deck.version < 28: - deck.s.statement("pragma default_cache_size= 20000") - deck.version = 28 - deck.s.commit() - if deck.version < 30: - # remove duplicates from review history - deck.s.statement(""" -delete from reviewHistory where id not in ( -select min(id) from reviewHistory group by cardId, time);""") - deck.version = 30 - deck.s.commit() - if deck.version < 31: - # recreate review history table - deck.s.statement("drop index if exists ix_reviewHistory_unique") - schema = """ -CREATE TABLE %s ( -cardId INTEGER NOT NULL, -time NUMERIC(10, 2) NOT NULL, -lastInterval NUMERIC(10, 2) NOT NULL, -nextInterval NUMERIC(10, 2) NOT NULL, -ease INTEGER NOT NULL, -delay NUMERIC(10, 2) NOT NULL, -lastFactor NUMERIC(10, 2) NOT NULL, -nextFactor NUMERIC(10, 2) NOT NULL, -reps NUMERIC(10, 2) NOT NULL, -thinkingTime NUMERIC(10, 2) NOT NULL, -yesCount NUMERIC(10, 2) NOT NULL, -noCount NUMERIC(10, 2) NOT NULL, -PRIMARY KEY (cardId, time))""" - deck.s.statement(schema % "revtmp") - deck.s.statement(""" -insert into revtmp -select cardId, time, lastInterval, nextInterval, ease, delay, lastFactor, -nextFactor, reps, thinkingTime, yesCount, noCount from reviewHistory""") - deck.s.statement("drop table reviewHistory") - metadata.create_all(deck.engine) - deck.s.statement( - "insert into reviewHistory select * from revtmp") - deck.s.statement("drop table revtmp") - deck.version = 31 - deck.s.commit() - deck.s.statement("vacuum") - if deck.version < 32: - deck.s.execute("drop index if exists ix_cardTags_tagId") - deck.s.execute("drop index if exists ix_cardTags_cardId") - DeckStorage._addIndices(deck) - deck.s.execute("analyze") - deck.version = 32 - deck.s.commit() - if deck.version < 33: - deck.s.execute("drop index if exists ix_tags_tag") - DeckStorage._addIndices(deck) - deck.version = 33 - deck.s.commit() - if deck.version < 34: - deck.s.execute("drop view if exists acqCardsRandom") - deck.s.execute("drop index if exists ix_cards_factId") - DeckStorage._addIndices(deck) - deck.updateDynamicIndices() - deck.version = 34 - deck.s.commit() - if deck.version < 36: - deck.s.statement("drop index if exists ix_cards_priorityDue") - DeckStorage._addIndices(deck) - deck.s.execute("analyze") - deck.version = 36 - deck.s.commit() - if deck.version < 37: - if deck.getFailedCardPolicy() == 1: - deck.failedCardMax = 0 - deck.version = 37 - deck.s.commit() - if deck.version < 39: - deck.reset() - # manually suspend all suspended cards - ids = deck.findCards("tag:suspended") - if ids: - # unrolled from suspendCards() to avoid marking dirty - deck.s.statement( - "update cards set isDue=0, priority=-3 " - "where id in %s" % ids2str(ids)) - deck.rebuildCounts() - # suspended tag obsolete - don't do this yet - deck.suspended = re.sub(u" ?Suspended ?", u"", deck.suspended) - deck.version = 39 - deck.s.commit() - if deck.version < 40: - # now stores media url - deck.s.statement("update models set features = ''") - deck.version = 40 - deck.s.commit() if deck.version < 43: - deck.s.statement("update fieldModels set features = ''") - deck.version = 43 - deck.s.commit() + raise Exception("oldDeckVersion") if deck.version < 44: # leaner indices deck.s.statement("drop index if exists ix_cards_factId") @@ -4275,6 +3875,11 @@ this message. (ERR-0101)""") % { "dueAsc", "dueDesc"): deck.s.statement("drop index if exists ix_cards_%s2" % d) deck.s.statement("drop index if exists ix_cards_%s" % d) + # remove old views + for v in ("failedCards", "revCardsOld", "revCardsNew", + "revCardsDue", "revCardsRandom", "acqCardsRandom", + "acqCardsOld", "acqCardsNew"): + deck.s.statement("drop view if exists %s" % v) deck.s.execute("analyze") deck.version = 70 deck.s.commit() diff --git a/tests/importing/test03.anki b/tests/importing/test03.anki deleted file mode 100644 index 5f285ee0013c81942e3a4eac816365db0db2578d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3933 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 delta 4306 zcmbVP4Qx}_6~52<-&OJcieSHh!vYP^1x}ZFE!FD#2Kp28BX9#29p&R8gR;>Y%7}Xy?A?XB>Xo zYESWf@11+@Io~5zkgvl_2^2SMV@4xfA#ep% zKY+0ta&LaJ`OF_q{dnu@Gy-OGQPJSjMP>mGSKfxg@432NJ~1fPzNf7hmRj)v$T>pJ zMI$GN_qfWbMHLB)h_DDPHVBsW<$~Fkmj@fC45y{e2jzN(ML8O>Ds3HeG+nxv(7mYp zBih*p`NV9tf{D9EtRUcJwOWhuan_mZ$9sM{`Pclu`lA_bIJb2hMhSvU=rln_pq+vv@|1G&k7}Cw3kjG?L*Sgn zQ(=Pw{l~F@vTs2Hru>ryjwUiIAi2CbrB&+nb#IZ{vqP_G#*5InJz|8?hDTT@io0a%L`}FF?qRS)sRxpnklqH`_mi#^h{DS0jclxz4 zr{(p?E_Ll{b#0Fo*J?R3w$C1i&p9hjT)3cyt!mg`bfQKc5d2eq+dh4g?jz_A1>7Po z&UD@9~0W8C(yZ-}_Hhe754{26<9vh>Z&;zs^>5Q(oO}slai#^{JC&o}5A4n7XeV*i9fOZlb=P&Ps*M9v2}eT==;ceg z?TXP#E)a47whLxDm;N#uIib|ZWnfi0WJTy170YOWO2~-Sw7_h-Zbpjol{^+QhjT-A z5F|@%T?;s1bZl8GKF3w9=^!)zq3nK$kr9UYxt+yXwVbt z%isNjJxN9qI$JybqBY}kSHEq?@q3@~G;Pux6`ptE+=?-S_dR|5!%N&#Tq9f47&Dmg zwA>ZQ|LVwqsxzpe(RC7@I{bbfwux>cxLqEi$LJ>9E_Y$DG7V=_lSy~?eDxmmU(m&6 zx`*2*FC}EU#kz`=giK#sVfzAQV>TtPJ=J<6A=B61xnkt9K@HJCE1@6IgSdmAz`gtk zLc+~0m0C?YlysVH!ffg&_$ww(2f#IT$J$gt_sL%|@R9B?0lP2(JpAkQ*!=|P1=PLr zAat4TI$5Us=Q2IrI*w$S4klTqBeL>+5*kwo{9CvKjnIg2YM~-B=2utma#HMUEGp7si9onii{R#cz>pzNbyie^s=q2eIN*4`R0~ z;0dZjjzA^U z2UJQ};{vAYF-M8Es>B(Yo}pY=Gakk&_txMpoEh7J8!2wF$6H}`riC6OlpZ43RlKLJ zBkswAofx2Af`pjcbBp$dA=D0aKn#9c$wWo98LPoHo}t z)Gsb)mK0g)5|vrzB4vNC(@^3Q`;>#dPsGmQLS?qOPv+EroS?v7g|_B#_vV zHmD4jGhX!|>+KW+qD5swrN#sHj5bv%c`PoUhjj-ee?XE~Gy5~FN|o?H?!N^?Znqc= zN~=U%S+%}C*PL5a1RL8|Nn&q6Ts4Q2SHF`uDOX$HG%3MK9Q1ps!S)*j-MAi}T zcWEzipcW0N3L252t7OcN09sMOJRy~!5h%6WuMIT!( z;{QitIj&}%(u&SRrZo_1mTOoQpH9@^88%fl;Pc13w^x!onb+TYU&SE@M3*djFssZb z_G%#|3}6u_BZ4YS3YJ;IuYApr>NBa7yx6?A1jr;p8e|Sd3=od2wy9iNKa&@?BP53c zqFUdi$3%&Fg_Gn-MecI-Ikf6wDdP35R12hL&dHIhGZQT%co6=UjMZ!>hg`*zE@G<0 zfXW8dI_C8OR@5-ZBU!;FvB}Q$J>fAbwFjT#(YxF|YUuiXMBKVCDQFGU=dM{Sn+^$@K7hJrC1kD$mseEu(cr`2T5%`*p>RcyxN5 zDqJ2q>k0*B)%kLfNxnEkzk?fv6qIm>WL_yKtD%ob7e|ZQj`$`LPol~ljpJ&iv{1k8 JLVa^`{txU6((?cS diff --git a/tests/importing/test10-3.anki b/tests/importing/test10-3.anki index 2b5baf83b3f480b63beb54eaaea7495c90105a88..c7e770b365af49505479206eb611d8d59b3a98e9 100644 GIT binary patch delta 5807 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 Ak^lez delta 1554 zcmaJ>Z%kWN6u;-5{s&5d!h;rQDU3f`9Ghe@%%L#SOoVKX5z&w^EA5hoF<4(w=90lH zn@U^Q$~C(tOPnljOD2l*#fW?v**>Yus+lv)3@7*jV~A#7)X1`UU%?Fg;7i``-Sa!= z-h1xvo_B_Z(uQW~t^@m9g5iMsP;aQm7k1YW9RVQqZZ{#MTDf|02P@avE!R_eoF_OhxFqT}Cj>WNT?sm2|Bdf}-mK+V4R>&FLMc)IN_>my+CmgP z1QX~HVR^_r`+nAw7D8GQ%5HYtR0;<5yy*;DR=2DpSSRADQTNr|#0slBcq4U0bx`*Z zty&0@T0&}}Q`=(;>%;;usRL+)CgC#=_ZW;)MFqT75ca)#I1mcF77V=pTu=`8hK_A8 z(i&U64Q*a`Tf^=auiLZ1$0jBUZJsV)$lv7mxSRI2dG~l*KX<+j&jWK^%w^A@8aL#4@zK7OqJkWRE0>Fk*TNmn<&nRJHZ*je2i@7 zTC*Nyg0e7!NEHh^k(9v2&L)e&!9GjwDLT+E_XUpl1Ae=mzNAU2Bj*S?2k+7suqL6z z93!DLqa;bd8dHh*16|#63bNSb#rs;7P%cd^nv0pAp>hz@~8nmSTN6_(ly%DDg z-ot5e$Vt?DXg)FXg-meqdznyaqNJ0MPV7x6t&TUXnW^kz$5#^w`@*uUfux#0`jet! zwecT^VJutQR1Y=+Hn>Q4&{=#Xp*%t*JBv3B1EU$){EG;TQBw}z8i5g7WancFyw_Ni zYs{^xGAYNjQuB2kZ4`AQxB8CwdwVuoYZdomlegWy(Ze4^U=#ml2r7AD1TyVfCI;vy z&`$|HgGOw}$*YPFP%-6kRK(^P5|@Wyl=kOybp$qnlRtYJ^7!u~Q0v)SV34**5Dbbd z9taK`)CyTXc*xfkZt|zbg{#3oje?Fp9D^LJI^f`&qu_=j-W-J*vD#o1N}!leL}8mn zYYl))1eb)^^T?OZLy-Y+nc%V@7Lm_ggLJ$7$d|6ZsRoA@O>u#UzOx|QcaSekL77o> zB+-Yo4sN_*X5)(s!`jeh`eeYn^F diff --git a/tests/importing/test10.anki b/tests/importing/test10.anki index dc881408e244fae20f2f238890d6859ed0b43b9e..8280631882ea2c3c6917fb511b64a69ad5152c93 100644 GIT binary patch literal 180224 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 diff --git a/tests/syncing/media-tests/1.anki b/tests/syncing/media-tests/1.anki index 713815a2c9512a6326bfa95aaf57b59c6f5d0aa6..05940936a655605c8c0a0e43c84a30bd9b06fe5f 100644 GIT binary patch literal 180224 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 diff --git a/tests/syncing/media-tests/2.anki b/tests/syncing/media-tests/2.anki index ac9801c8a1a29b0f943e85b860ba49be424d3253..13a981b88cc7481f7ef57aaa5cebb2dcc51176a0 100644 GIT binary patch literal 184320 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 DNS`MMMiQ2 zMyw{V1xyJhrx3YJPBGh`5^FUsMRwzg+ihHSd#&VcMBZkCgT%4YK;eW^r<0L(E^+hdf5v* zjSsEm^uyuMn&NeMry4DyR8|Ii zm!v@>irNlo9njO%*C2NEL}Qw zZ$>fSQ}uz_pSts|O zu!`gmB8SL%<}XQ%x$aiuQ1_P>@SZ>tK@$EqqkkI~zS?f(g`D2Tb5_*gt{5jaNt=L!Zu_ovwF{bjHqWgGY!q%OyP21dJe9SaRV?25%f&>e*Czzpe3>Q{-r z%4XCK)kB`Ke(0@IJ5PEq@T7YK!FY_5g4F$?Q2>XL7^#Iq;|C*#g9kt^B65*c@*FWP z9&UjLoi~fT50RgfeM~e)jD5e}&76i23d1|5)0bV7&*t!n+S8qOq^W&Mte4ZLQZFQG z02UYnyPZ&MB>JCDy|;TEm=!P4pUI{9^-v2=y0jiLF>FU}8)Xc3iCg)mxfrvWDCupkf-uUVVn>_Qz3?FUS&?r0X%AjiKLPcuP=*Q$i zN(cJEn#pe3;v$Icb0>b8xJ)ba+4Fp!C^a;|t1r;eI&gzTzh4Kk(Uwyx1p`r~OR1K- zHg4^FzH^J|A+CkE3;HJ?tNZP5mD5jskZ&v*EvKc8;5H@&7yU{jtHCRyE~=RyOk|0w z{V_8zdbp8U(V=qV;8+efy4=WG!&Hn<64ms_^&ofX%k#w&uh%x&I;5$?y#cLHRXSK8 zv5k?(RvlY9*KF;SU+n7qsyt7Ry612`b)UxtI5J%Am3?xn*Aa;-YE<5l$hOe~1!9TMXPbQGv4DCak#Lq@bNP5kIS*nt zWmKNSb!Jq;cz;xjM74NAu39NCc03uQ!xK~c)L>i=1x7sV$Oh*nL_`X(0 zZ!{8ON^G}h<-yK6jZLRw&b)xGA#@E!vFO4n(o7B}^|?yjStyoNRM;konO#&J;rV+$1Lg+T9iX*rT{ zkho6D@~n2S33&RQ)9f798=e${{R#06L~bzazY)P{1-mHF+Y#)vlG}*fX6%0udfRWV zAF4GmHG!dspKoJM!oiF)bAUu>L(m4Na4SB7?~qRN){O23kB%f!TFyGNa(?n`h_sj% z31`x$dNUN!=~-+ki}~jX9~FTvo5dB&=M9y2xKxzd8N7Esd{`Y$PgVwBiBvnkCjKL#R}Mq1 zNG>sTa*1)yaf2q#xx^vPk)=gM5PmT(@+-gnW-gxwllS$3Va~h0?Iq4jqn||Nx8x+l zI!frtIq1n;KNAnHp97CR_fK2$thgBA06t0F#K6TfI{Uk{zMB5N9%^6_{Z~CS)O1&} zI+lT!DOdWI^$!L52G#U;9o^FmE#Ri_HbXPio4qQbpEa{$$+W74m9ByIw7?puqHne^ O1rPmQ3#`ukq4+-zW^WV#