|
|
|
|
<!DOCTYPE html>
|
|
|
|
|
<html>
|
|
|
|
|
<head>
|
|
|
|
|
<meta charset="utf-8">
|
|
|
|
|
<title>Resurgence</title>
|
|
|
|
|
<style title="Twine CSS">@-webkit-keyframes appear{0%{opacity:0}to{opacity:1}}@keyframes appear{0%{opacity:0}to{opacity:1}}@-webkit-keyframes fade-in-out{0%,to{opacity:0}50%{opacity:1}}@keyframes fade-in-out{0%,to{opacity:0}50%{opacity:1}}@-webkit-keyframes rumble{50%{-webkit-transform:translateY(-0.2em);transform:translateY(-0.2em)}}@keyframes rumble{50%{-webkit-transform:translateY(-0.2em);transform:translateY(-0.2em)}}@-webkit-keyframes shudder{50%{-webkit-transform:translateX(0.2em);transform:translateX(0.2em)}}@keyframes shudder{50%{-webkit-transform:translateX(0.2em);transform:translateX(0.2em)}}@-webkit-keyframes box-flash{0%{background-color:white;color:white}}@keyframes box-flash{0%{background-color:white;color:white}}@-webkit-keyframes pulse{0%{-webkit-transform:scale(0, 0);transform:scale(0, 0)}20%{-webkit-transform:scale(1.2, 1.2);transform:scale(1.2, 1.2)}40%{-webkit-transform:scale(0.9, 0.9);transform:scale(0.9, 0.9)}60%{-webkit-transform:scale(1.05, 1.05);transform:scale(1.05, 1.05)}80%{-webkit-transform:scale(0.925, 0.925);transform:scale(0.925, 0.925)}to{-webkit-transform:scale(1, 1);transform:scale(1, 1)}}@keyframes pulse{0%{-webkit-transform:scale(0, 0);transform:scale(0, 0)}20%{-webkit-transform:scale(1.2, 1.2);transform:scale(1.2, 1.2)}40%{-webkit-transform:scale(0.9, 0.9);transform:scale(0.9, 0.9)}60%{-webkit-transform:scale(1.05, 1.05);transform:scale(1.05, 1.05)}80%{-webkit-transform:scale(0.925, 0.925);transform:scale(0.925, 0.925)}to{-webkit-transform:scale(1, 1);transform:scale(1, 1)}}@-webkit-keyframes shudder-in{0%, to{-webkit-transform:translateX(0em);transform:translateX(0em)}5%, 25%, 45%{-webkit-transform:translateX(-1em);transform:translateX(-1em)}15%, 35%, 55%{-webkit-transform:translateX(1em);transform:translateX(1em)}65%{-webkit-transform:translateX(-0.6em);transform:translateX(-0.6em)}75%{-webkit-transform:translateX(0.6em);transform:translateX(0.6em)}85%{-webkit-transform:translateX(-0.2em);transform:translateX(-0.2em)}95%{-webkit-transform:translateX(0.2em);transform:translateX(0.2em)}}@keyframes shudder-in{0%, to{-webkit-transform:translateX(0em);transform:translateX(0em)}5%, 25%, 45%{-webkit-transform:translateX(-1em);transform:translateX(-1em)}15%, 35%, 55%{-webkit-transform:translateX(1em);transform:translateX(1em)}65%{-webkit-transform:translateX(-0.6em);transform:translateX(-0.6em)}75%{-webkit-transform:translateX(0.6em);transform:translateX(0.6em)}85%{-webkit-transform:translateX(-0.2em);transform:translateX(-0.2em)}95%{-webkit-transform:translateX(0.2em);transform:translateX(0.2em)}}@-webkit-keyframes rumble-in{0%, to{-webkit-transform:translateY(0em);transform:translateY(0em)}5%, 25%, 45%{-webkit-transform:translateY(-1em);transform:translateY(-1em)}15%, 35%, 55%{-webkit-transform:translateY(1em);transform:translateY(1em)}65%{-webkit-transform:translateY(-0.6em);transform:translateY(-0.6em)}75%{-webkit-transform:translateY(0.6em);transform:translateY(0.6em)}85%{-webkit-transform:translateY(-0.2em);transform:translateY(-0.2em)}95%{-webkit-transform:translateY(0.2em);transform:translateY(0.2em)}}@keyframes rumble-in{0%, to{-webkit-transform:translateY(0em);transform:translateY(0em)}5%, 25%, 45%{-webkit-transform:translateY(-1em);transform:translateY(-1em)}15%, 35%, 55%{-webkit-transform:translateY(1em);transform:translateY(1em)}65%{-webkit-transform:translateY(-0.6em);transform:translateY(-0.6em)}75%{-webkit-transform:translateY(0.6em);transform:translateY(0.6em)}85%{-webkit-transform:translateY(-0.2em);transform:translateY(-0.2em)}95%{-webkit-transform:translateY(0.2em);transform:translateY(0.2em)}}@-webkit-keyframes slide-right{0%{-webkit-transform:translateX(-100vw);transform:translateX(-100vw)}}@keyframes slide-right{0%{-webkit-transform:translateX(-100vw);transform:translateX(-100vw)}}@-webkit-keyframes slide-left{0%{-webkit-transform:translateX(100vw);transform:translateX(100vw)}}@keyframes slide-left{0%{-webkit-transform:translateX(100vw);transform:translateX(100vw)}}@-webkit-keyframes slide-up{0%{-webkit-transform:translateY(100vh);transform:translateY(100vh)}}@keyfr
|
|
|
|
|
</style>
|
|
|
|
|
</head>
|
|
|
|
|
|
|
|
|
|
<body>
|
|
|
|
|
|
|
|
|
|
<tw-story></tw-story>
|
|
|
|
|
|
|
|
|
|
<tw-storydata name="Resurgence" startnode="1" creator="Twine" creator-version="2.3.9" ifid="74BFDBA6-F7BB-479B-B510-F26EA45214D7" zoom="1" format="Harlowe" format-version="3.1.0" options="" hidden><style role="stylesheet" id="twine-user-stylesheet" type="text/twine-css"></style><script role="script" id="twine-user-script" type="text/twine-javascript"></script><tw-passagedata pid="1" name="By the foot of the volcano" tags="volcano 1" position="98,400" size="100,100">"You find yourself on the foot of an active volcano. You look down and see a cardboard sign lying by your feet with the message 'We are the grandchildren of the witches you were not able to burn.' Hm. What do you do?"
|
|
|
|
|
|
|
|
|
|
[[5 - Volcano]] [[2 - Ruins]] [[15 - Weavers]] [[7 - Academy]]
|
|
|
|
|
|
|
|
|
|
Original Essay:
|
|
|
|
|
RESURGENCE | Isabelle Stengers
|
|
|
|
|
|
|
|
|
|
“We are the grandchildren of the witches you were not able to burn”
|
|
|
|
|
– Tish Thawer
|
|
|
|
|
</tw-passagedata><tw-passagedata pid="2" name="2 - Ruins" tags="ruins 2" position="300,99" size="100,100">As you are walking, the fauna is getting denser and wilder by the minute. Suddenly, a gate made of white stone catches your attention.
|
|
|
|
|
|
|
|
|
|
[[17 - Weavers]] [[3 - Ruins]]
|
|
|
|
|
|
|
|
|
|
Original essay:
|
|
|
|
|
I will take this motto, which has flourished in recent protests in the United States, as the defiant cry of resurgence – refusing to define the past as dead and buried. Not only were the witches killed all over Europe, but their memory has been buried by the many retrospective analyses which triumphantly concluded that their power and practices were a matter of imaginary collective construction affecting both the victims and the inquisitors. Eco-feminists have proposed a very different understanding of the ‘burning times.’ They associate it with the destruction of rural cultures and their old rites, with the violent appropriation of the commons, with the rule of a law that consecrated the unquestionable rights of the owner, and with the invention of the modern workers who can only sell their labour-power on the market as a commodity. Listening to the defiant cry of the women who name themselves granddaughters of the past witches, I will go further. I will honour the vision which, since the Reagan era, has sustained reclaiming witches such as Starhawk, who associate their activism with the memory of a past earth-based religion of the goddess - who now ‘returns.’ Against the ongoing academic critical judgement, I claim that the witches’ resurgence, their chant about the goddess’ return, and inseparably their return to the goddess, should not be taken as a ‘regression.’ </tw-passagedata><tw-passagedata pid="3" name="3 - Ruins" tags="ruins 3" position="501,100" size="100,100">[[6 - Ruins]] [[4 - Ruins]]
|
|
|
|
|
|
|
|
|
|
Original essay:
|
|
|
|
|
Given the threatening unknown our future is facing, the question of academic judgements may seem like a rather futile one. Very few, including academics themselves, among those who disqualify the resurgence of witches as regressive, are effectively forced to think by this future, which the witches resolutely address. They are too busy living up to the relentless neoliberal demands which they have now to satisfy in order to survive. However, if there is something to be learned from the past, it may well be the way in which defending the victims of eradicative operations has so often deemed futile. In one way or another, these victims deserved their fate, or this fate was the price to be unhappily paid for progress. “Creative destructions,” economists croon. What we have now discovered is that these destructions come with cascading and interconnecting consequences. Worlds are destroyed and no such destruction is ever deserved. This is why I will address the academic world, which, in turns, is facing its own destruction. Probably, because it is the one I know best, also because of its specific responsibility in the formation of the generations which will have to make their way in the future.
|
|
|
|
|
</tw-passagedata><tw-passagedata pid="4" name="4 - Ruins" tags="ruins 4" position="502,299" size="100,100">[[3 - Ruins]] [[6 - Ruins]]
|
|
|
|
|
|
|
|
|
|
Original essay:
|
|
|
|
|
Resurgence often refers to the reappearance of something defined as deleterious – e.g. an agricultural pest or an epidemic vector – after a seemingly successful operation of eradication. It may also refer to the reworlding of a landscape after a natural catastrophe or a devastating industrial exploitation. Today, such a reworlding is no longer understood by researchers in ecology in terms of the restoration of some stable equilibrium. Ecology has succeeded in freeing itself from the association of what we call “natural” with an ordered reality verifying scientific generalization. In contrast, academic judgements entailing the idea of regression still imply what has been called “The Ascent of Man:” “Man” irrevocably turning his back on past attachments, beliefs, and scruples, affirming his destiny of emancipation from traditions and the order of nature. Even critical humanities including feminist studies, whatever their deconstruction of the imperialist, sexist, and colonialist character of the “Ascent of Man” motto, still do not know how to disentangle themselves from the reference to a rational progress which opposes the possibility of taking seriously the contemporary resurgence of what does not conform to a materialist, that is, secularist, position.
|
|
|
|
|
</tw-passagedata><tw-passagedata pid="5" name="5 - Volcano" tags="volcano 5" position="302,299" size="100,100">[[4 - Ruins]] [[3 - Ruins]]
|
|
|
|
|
|
|
|
|
|
Original Essay:
|
|
|
|
|
If resurgence is a word for the future, it is because we may use it in the way the granddaughters of the witches do: as a challenge to eradicative operations, with which what we call materialism and secularism are irreducibly associated, are still going on today. It is quite possible to inherit the struggle against the oppressive character of religious institutions without forgetting what came together with materialism and secularism; the destruction of what opposed the transition to capitalism both in Europe and in the colonized world.
|
|
|
|
|
</tw-passagedata><tw-passagedata pid="6" name="6 - Ruins" tags="ruins" position="701,304" size="100,100">[[16 - Ruins]]
|
|
|
|
|
|
|
|
|
|
Original essay:
|
|
|
|
|
It is quite possible to resist the idea that what was destroyed is irrevocably lost and that we should have the courage to accept this loss. Certainly it cannot be a question of resurrecting the past. What eventually returns is also reinventing itself as it takes root in a new environment, challenging the way it defined its destruction as a fait accompli. In the academic environment, defining as a fait accompli the destruction of the witches might be the only true point of agreement uniting two antagonist powers: those who take as an “objective fact” that the magic they claimed to practice does not exist, and those who understand magic as a cultural-subjective construction belonging to the past.
|
|
|
|
|
</tw-passagedata><tw-passagedata pid="7" name="7 - Academy" tags="7 academy" position="297,701" size="100,100">You walk on a concrete road towards a large building. It has 'FACTS ONLY' engraved on top of a massive wooden door.
|
|
|
|
|
|
|
|
|
|
[[8 - Academy]] [[12 - Forest]]
|
|
|
|
|
|
|
|
|
|
Original essay:
|
|
|
|
|
Getting rid of the Objectivity – Subjectivity banners
|
|
|
|
|
|
|
|
|
|
In the academic world eradicative operations are a routine, performed as ‘methodology’ by researchers who see it as their duty to disentangle situations in order to define them. Some will extract information about human practices only and give (always subjective) meaning to these situations. Others will only look at ‘(objective) facts’, the value of which should be to hold independently of the way humans evaluate them. Doing so, these academics are not motivated by a quest for a relevant approach. Instead they act as mobilized armies of either objectivity or subjectivity, destroying complex situations that might have slowed them down, and would have forced them to listen to voices protesting against the way their method leaves unattended knowledge that matters to others.
|
|
|
|
|
</tw-passagedata><tw-passagedata pid="8" name="8 - Academy" tags="academy 8" position="501,902" size="100,100">[[9 - Academy]]
|
|
|
|
|
|
|
|
|
|
Original Essay:
|
|
|
|
|
That objectivity is a mobilizing banner is easy to demonstrate. It would have no power if it were taken in the strict experimental sense, where it means the obtaining of an exceptional and fragile achievement. An experimental ‘objective’ fact is always extracted by active questioning. However, achieving objectivity then implies the creation of a situation that gives ‘the thing questioned’ the very unusual power to authorize one interpretation that stands against any other possible one. Experimental objectivity is thus the name of an event, not the outcome of a method. Further, it is fragile because it is lost as soon as the experimental facts leave the ‘lab’ – the techno-social rarefied milieu required by experimental achievements – and become ingredients in messy real world situations. When a claim of objectivity nevertheless sticks to those facts outside of the lab, it transforms this claim into a devastating operator. As for the kind of objectivity claimed by the sheer extraction of “data” or by the unilateral imposition of a method, it is a mere banner for conquest. On the other hand, holding the ground of subjectivity against the claims of objectivity, not so very often means empowering the muted voices that point to ignored or disqualified matters. Scientists trying to resist the pseudo-facts that colonialize their fields, caring for a difference to be made between ‘good’ (relevant) and ‘bad’ (abusive) sciences, have found no allies in critical sciences. For those who are mobilized under the banner of subjectivity such scruples are ludicrous.
|
|
|
|
|
</tw-passagedata><tw-passagedata pid="9" name="9 - Academy" tags="academy 9" position="900,799.7666625976562" size="100,100">[[18 - Academy]]
|
|
|
|
|
|
|
|
|
|
Original Essay:
|
|
|
|
|
Academic events such as theoretical turns or scientific revolutions – including the famous Anthropocene turn – won’t help to foster cooperative relations or care for collaborative situations. Indeed, such events typically signal an advance, usually the creative destruction of some dregs of common sense that are still contaminating what was previously accepted. In contrast, if there were to be resurgence it would signal itself by the ‘demoralization’ of the perspective of advance. Demoralization is not however about the sad recognition of a limit to the possibility of knowing. It rather conveys the possibility of reducing the feeling of legitimacy that academic researchers have about their objectivity – subjectivity methodologies. The signal of a process of resurgence might be researchers deserting their position when they recognise that subjectivity and objectivity are banners only, imperatives to distance themselves from concerned voices, protesting against the dismemberment of what they care for.</tw-passagedata><tw-passagedata pid="10" name="10 - Weavers" tags="weavers 10" position="499,498.9499969482422" size="100,100">[[11 - Weavers]]
|
|
|
|
|
|
|
|
|
|
Original essay:
|
|
|
|
|
Making common sense
|
|
|
|
|
|
|
|
|
|
Addressing situations that are a matter of usually diverging concerns in a way that resists dismembering them, means betraying the mobilization for the advance of knowledge. The resurgence of cooperative and non-antagonist relations points towards situation-centred achievements. It requires that the situation itself be given the power to make those concerned think together, that is to induce a laborious, hesitant, and sometimes conflictual collective learning process of what each particular situation demands from those who approach it. This requirement is a practical one. If the eradicative power of the objective/subjective disjunction is to collapse and give way to a collective process, we need to question many academic customs. The ritual of presentations with PowerPoint authoritative bullet-point like arguments, for instance, perfectly illustrates the way situations are mobilized in a confrontational game, when truth is associated with the power of one position to defeat the others. In addition, we may need to find inspiration in ancient customs. New academic rituals may learn for instance from the way the traditional African palavers or the sweat lodge rituals in North American First Nations, these examples ward off one-way-truths and weaponized arguments.
|
|
|
|
|
|
|
|
|
|
</tw-passagedata><tw-passagedata pid="11" name="11 - Weavers" tags="weavers 11" position="699,698.8166656494141" size="100,100">[[17 - Weavers]] [[9 - Academy]]
|
|
|
|
|
|
|
|
|
|
Original essay:
|
|
|
|
|
Today, many activist groups share with reclaiming contemporary witches the reinvention of the art of consensus-making deliberation; giving the issue of deliberation the power to make common sense. What they learn to artfully design are resurgent ways to take care of the truth, to protect it from power games and relate it to an agreement - generated by a very deliberative process - that no party may appropriate it. They experiment with practices that generate the capacity to think and feel together. For the witches, convoking the goddess is giving room to the power of generativity. When they chant “She changes everything She touches, and everything She touches changes,” they honour a change that affects everything, but to which each affected being responds in its own way and not through some conversion [i]She[i] would command. Of course, such arts presuppose a shared trust in the possibility of generativity and we are free to suspect some kind of participatory role-playing. But refusing to participate is also playing a role. Holding to our own reasons demands that, when we feel we understand something about the other’s position, we suppress any temptation to doubt the kind of authority we confer to our reasons, as if such a hesitation was a betrayal of oneself. What if the art of transformative encounters cultivated the slow emergence and intensification of a mutual sensitivity? A mutual sensitivity that generates a change in the relationship that each entertains with their own reasons.</tw-passagedata><tw-passagedata pid="12" name="12 - Forest" tags="forest 12" position="501,701.2166595458984" size="100,100">[[15 - Weavers]] [[13 - Forest]]
|
|
|
|
|
|
|
|
|
|
Original essay:
|
|
|
|
|
Polyphonic song
|
|
|
|
|
|
|
|
|
|
Curiously enough the resurgence of the arts of partnering around a situation, of composing and weaving together relevant but not authoritative reasons, echoes with the work of laboratory biologists. Against the biotechnological redefinition of biology they claim that the self-contained isolable organisms might be a dubious abstraction. What they study are not individual beings competing for having their interest prevail, but multiple specific assemblages between interdependent mutually sensitive partners weaving together capacities to make a living which belong to none of them separately. “We have never been individuals” write Scott Gilbert and his colleagues who are specialists in evolutionary developmental biology. “It is the song that matters, not the singer,” adds Ford Doolittle, specialist in evolutionary microbiology, emphasizing the open character of assemblages, the composition of which (the singers) can change as long as the cooperative pattern, the polyphonic song, is preserved. In other words, biologists now discover that both in the lab and in the field, they have to address cooperative worlds and beings whose ways of life emerge together with their participation in worlding compositions. One could be tempted to speak about a ‘revolution’ in biology, but it can also be said that it is a heresy, a challenge against the mobilizing creed in the advance of science. Undoubtedly, biology is becoming more interesting, but it is losing its power to define a conquering research direction, since each “song”; each assemblage, needs to be deciphered as such. If modes of interdependence are what matters, extraction and isolation are no longer the royal road for progress. No theory - including complex or systemic ones - can define a priori its rightful object, that is, anticipate the way a situation should be addressed. </tw-passagedata><tw-passagedata pid="13" name="13 - Forest" tags="forest 13" position="701,500.48333740234375" size="100,100">[[14 - Forest]]
|
|
|
|
|
|
|
|
|
|
Original Essay:
|
|
|
|
|
This “heretical” biology is apt to become an ally in the resurgence of cooperative relations between positive sciences and humanities at a time when we vitally need ‘demobilization,’ relinquishing banners which justified our business-as-usual academic routines. I will borrow Anna Tsing’s challenging proposition, that our future might be about learning to live in “capitalist ruins.”[5] That is, in the ruins of the socio-technical organizational infrastructures that ensured our business-as-usual life. Ruins may be horrific, but Tsing recognises ruins also as a place for the resurgence and cultivation of an art of paying attention, which she calls the “art of noticing.” Indeed ruins are places where vigilance is required, where the relevance of our reasons is always at risk, where trusting the abstractions we entertain is inviting disaster. Ruins demand consenting to the precariousness of perspectives taken for granted, that ‘stable’ capitalist infrastructures allowed us, or more precisely, allowed some of us.</tw-passagedata><tw-passagedata pid="14" name="14 - Forest" tags="forest 14" position="900,400.48333740234375" size="100,100">[[9 - Academy]]
|
|
|
|
|
|
|
|
|
|
Original essay:
|
|
|
|
|
Tsing follows the wild Matsutake mushroom that thrives in ruined forests - forests ruined by natural catastrophes or by blind extraction, but also by projects meant to ensure a ‘rational and sustainable’ exploitation, that discovered too late that what they had eliminated as prejudicial or expendable [I]did matter[I]. Devastation, the unravelling of the weaving that enables life, does not need to be willful, deliberate – blindly trusting an idea may be sufficient. As for Tsing, she is not relying on overbearing ideas. What she notices is factual but does not allow to abstract what would objectively matter from situational entanglements, in this case articulated by the highly sought mushroom and its [i]symbionts[i] including humans. Facts, here, are not stepping stones for a conquering knowledge and do not oppose objectivity to subjectivity. What is noticed is first of all what appears as interesting or intriguing. It may be enlightening but the light is not defining the situation, it rather generates new possible ways of learning, of weaving new relations with the situation.</tw-passagedata><tw-passagedata pid="15" name="15 - Weavers" tags="weavers 15" position="301,499.48333740234375" size="100,100">You set out to find the people who wrote the sign. You follow a narrow path into a dense forest, where you see a group of elderly women weaving.
|
|
|
|
|
|
|
|
|
|
[[10 - Weavers]] [[4 - Ruins]]
|
|
|
|
|
|
|
|
|
|
Original essay:
|
|
|
|
|
We are the weavers and we are the woven</tw-passagedata><tw-passagedata pid="16" name="16 - Ruins" tags="ruins 16" position="700,99.48333740234375" size="100,100">[[17 - Weavers]]
|
|
|
|
|
|
|
|
|
|
Original essay:
|
|
|
|
|
If our future is in the ruins, the possibility of resurgence is the possibility of cultivating, of weaving again what has been unravelled in the name of “the Ascent of Man.” We are not to take ourselves for the weavers after having played the masters, or the assemblers after having glorified extraction. “We are the weavers and we are the web,” sing the contemporary witches who know and cultivate generativity.[6] The arts of cultivation are arts of interdependence, of consenting to the precariousness of lives involved in each other. Those who cultivate do their part, trusting that others may do their own but knowing that what they aim at depends on what cannot be commanded or explained. Those who claim to explain growth or weaving are often only telling about the preparations required by what they have learned to foster, or they depend on the selection of what can be obtained and mobilized ‘off-ground’ in rarefied, reproducible environments. In the ruins of such environments, resurgence is not a return to the past, rather the challenge to learn again what we were made to forget – but what some have refused to forget.
|
|
|
|
|
</tw-passagedata><tw-passagedata pid="17" name="17 - Weavers" tags="17 Weavers" position="899,201.48333740234375" size="100,100">[[11 - Weavers]]
|
|
|
|
|
|
|
|
|
|
Original essay:
|
|
|
|
|
When the environmental, social and climate justice, multiracial Alliance of alliances, led by women, gender oppressed people of colour, and Indigenous Peoples, claim that “it takes roots to grow resistance,” or else, “to weather the storm,” they talk about the need to name and honour what sustains them and what they struggle for. When those who try to revive the ancient commons, which were destroyed all over the world in the name of property rights, claim that there is “no commons without commoning,” that is, without learning how to “think like commoners,” they talk about the need to not only reclaim what was privatized but to recover the capacity to be involved with others in the ongoing concern and care for their maintenance of the commons. Resurgence is a word for the future as it confronts us with what William James called a ‘genuine option concerning this future’. Daring to trust, as do today’s activists, in an uncertified, indeed improbable, not to say ‘speculative,’ possibility of reclaiming a future worth living and dying for, may seem ludicrous. But the option cannot be avoided because today there is no free standing place outside of the alternative: condescending skepticism, refusing to opt or opting against resurgence, are equivalent.
|
|
|
|
|
</tw-passagedata><tw-passagedata pid="18" name="18 - Academy" tags="academy 18" position="1101,700.4833374023438" size="100,100">[[11 - Weavers]]
|
|
|
|
|
|
|
|
|
|
Original essay:
|
|
|
|
|
Such an option has no privileged ground. Neither the soil sustaining the roots nor the mutually involved of interdependent partners composing a commons, can be defined in abstraction from the always-situated learning process of weaving relations that matter. These are generative processes liable to include new ways of being with new concerns. New voices enter a song, both participating in this song and contributing to reinvent it. For us academics it does not mean giving up scientific facts, critical attention, or critical concern. It demands instead that such facts, attention, and concerns are liable to participate in the song, even if it means adding new dimensions that complicate it. As such, even scientific facts thus communicate with what William James presented as the “great question” associated with a pluriverse in the making: “does it, with our additions, rise or fall in value? Are the additions worthy or unworthy?”[9] Such a question is great because it obviously cannot get a certified answer but demands that we do accept that what we add makes a difference in the world and that we have to answer for the manner of this difference.</tw-passagedata></tw-storydata>
|
|
|
|
|
|
|
|
|
|
<script title="Twine engine code" data-main="harlowe">"use strict";function _defineProperty(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function _toConsumableArray(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}var _slicedToArray=function(){function e(e,t){var n=[],r=!0,i=!1,o=void 0;try{for(var a,s=e[Symbol.iterator]();!(r=(a=s.next()).done)&&(n.push(a.value),!t||n.length!==t);r=!0);}catch(e){i=!0,o=e}finally{try{!r&&s.return&&s.return()}finally{if(i)throw o}}return n}return function(t,n){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return e(t,n);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),_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};!function(){/**
|
|
|
|
|
* @license almond 0.3.3 Copyright jQuery Foundation and other contributors.
|
|
|
|
|
* Released under MIT license, http://github.com/requirejs/almond/LICENSE
|
|
|
|
|
*/
|
|
|
|
|
var requirejs,require,define;!function(e){function t(e,t){return v.call(e,t)}function n(e,t){var n,r,i,o,a,s,c,u,l,f,p,d,h=t&&t.split("/"),g=y.map,m=g&&g["*"]||{};if(e){for(e=e.split("/"),a=e.length-1,y.nodeIdCompat&&w.test(e[a])&&(e[a]=e[a].replace(w,"")),"."===e[0].charAt(0)&&h&&(d=h.slice(0,h.length-1),e=d.concat(e)),l=0;l<e.length;l++)if("."===(p=e[l]))e.splice(l,1),l-=1;else if(".."===p){if(0===l||1===l&&".."===e[2]||".."===e[l-1])continue;l>0&&(e.splice(l-1,2),l-=2)}e=e.join("/")}if((h||m)&&g){for(n=e.split("/"),l=n.length;l>0;l-=1){if(r=n.slice(0,l).join("/"),h)for(f=h.length;f>0;f-=1)if((i=g[h.slice(0,f).join("/")])&&(i=i[r])){o=i,s=l;break}if(o)break;!c&&m&&m[r]&&(c=m[r],u=l)}!o&&c&&(o=c,s=u),o&&(n.splice(0,s,o),e=n.join("/"))}return e}function r(t,n){return function(){var r=b.call(arguments,0);return"string"!=typeof r[0]&&1===r.length&&r.push(null),f.apply(e,r.concat([t,n]))}}function i(e){return function(t){return n(t,e)}}function o(e){return function(t){h[e]=t}}function a(n){if(t(g,n)){var r=g[n];delete g[n],m[n]=!0,l.apply(e,r)}if(!t(h,n)&&!t(m,n))throw new Error("No "+n);return h[n]}function s(e){var t,n=e?e.indexOf("!"):-1;return n>-1&&(t=e.substring(0,n),e=e.substring(n+1,e.length)),[t,e]}function c(e){return e?s(e):[]}function u(e){return function(){return y&&y.config&&y.config[e]||{}}}var l,f,p,d,h={},g={},y={},m={},v=Object.prototype.hasOwnProperty,b=[].slice,w=/\.js$/;p=function(e,t){var r,o=s(e),c=o[0],u=t[1];return e=o[1],c&&(c=n(c,u),r=a(c)),c?e=r&&r.normalize?r.normalize(e,i(u)):n(e,u):(e=n(e,u),o=s(e),c=o[0],e=o[1],c&&(r=a(c))),{f:c?c+"!"+e:e,n:e,pr:c,p:r}},d={require:function(e){return r(e)},exports:function(e){var t=h[e];return void 0!==t?t:h[e]={}},module:function(e){return{id:e,uri:"",exports:h[e],config:u(e)}}},l=function(n,i,s,u){var l,f,y,v,b,w,x,T=[],S=void 0===s?"undefined":_typeof(s);if(u=u||n,w=c(u),"undefined"===S||"function"===S){for(i=!i.length&&s.length?["require","exports","module"]:i,b=0;b<i.length;b+=1)if(v=p(i[b],w),"require"===(f=v.f))T[b]=d.require(n);else if("exports"===f)T[b]=d.exports(n),x=!0;else if("module"===f)l=T[b]=d.module(n);else if(t(h,f)||t(g,f)||t(m,f))T[b]=a(f);else{if(!v.p)throw new Error(n+" missing "+f);v.p.load(v.n,r(u,!0),o(f),{}),T[b]=h[f]}y=s?s.apply(h[n],T):void 0,n&&(l&&l.exports!==e&&l.exports!==h[n]?h[n]=l.exports:y===e&&x||(h[n]=y))}else n&&(h[n]=s)},requirejs=require=f=function(t,n,r,i,o){if("string"==typeof t)return d[t]?d[t](n):a(p(t,c(n)).f);if(!t.splice){if(y=t,y.deps&&f(y.deps,y.callback),!n)return;n.splice?(t=n,n=r,r=null):t=e}return n=n||function(){},"function"==typeof r&&(r=i,i=o),i?l(e,t,n,r):setTimeout(function(){l(e,t,n,r)},4),f},f.config=function(e){return f(e)},requirejs._defined=h,define=function(e,n,r){if("string"!=typeof e)throw new Error("See almond README: incorrect module build, no module name");n.splice||(r=n,n=[]),t(h,e)||t(g,e)||(g[e]=[e,n,r])},define.amd={jQuery:!0}}(),define("almond",function(){}),function(e,t){"object"===("undefined"==typeof module?"undefined":_typeof(module))&&"object"===_typeof(module.exports)?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(e,t){function n(e,t,n){n=n||ce;var r,i,o=n.createElement("script");if(o.text=e,t)for(r in Te)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function r(e){return null==e?e+"":"object"===(void 0===e?"undefined":_typeof(e))||"function"==typeof e?he[ge.call(e)]||"object":void 0===e?"undefined":_typeof(e)}function i(e){var t=!!e&&"length"in e&&e.length,n=r(e);return!we(e)&&!xe(e)&&("array"===n||0===t||"number"==typeof t&&t>0&&t-1 in e)}function o(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}function a(e,t,n){return we(t)?Se.grep(e,function(e,r){return!!t.call(e,r,e)!==n}):t.nodeType?Se.grep(e,function(e){return e===t!==n}):"string"!=typeof t?Se.grep(e,function(e){return de.call(t,e)>-1!==n}):Se.filter(t,e,n)}function s(e,t){for(;(e=e[t])&&1!==e.nodeT
|
|
|
|
|
x=t.selectors={cacheLength:50,createPseudo:r,match:pe,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(be,we),e[3]=(e[3]||e[4]||e[5]||"").replace(be,we),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||t.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&t.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return pe.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&le.test(n)&&(t=k(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(be,we).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=$[e+" "];return t||(t=new RegExp("(^|"+te+")"+e+"("+te+"|$)"))&&$(e,function(e){return t.test("string"==typeof e.className&&e.className||void 0!==e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(e,n,r){return function(i){var o=t.attr(i,e);return null==o?"!="===n:!n||(o+="","="===n?o===r:"!="===n?o!==r:"^="===n?r&&0===o.indexOf(r):"*="===n?r&&o.indexOf(r)>-1:"$="===n?r&&o.slice(-r.length)===r:"~="===n?(" "+o.replace(oe," ")+" ").indexOf(r)>-1:"|="===n&&(o===r||o.slice(0,r.length+1)===r+"-"))}},CHILD:function(e,t,n,r,i){var o="nth"!==e.slice(0,3),a="last"!==e.slice(-4),s="of-type"===t;return 1===r&&0===i?function(e){return!!e.parentNode}:function(t,n,c){var u,l,f,p,d,h,g=o!==a?"nextSibling":"previousSibling",y=t.parentNode,m=s&&t.nodeName.toLowerCase(),v=!c&&!s,b=!1;if(y){if(o){for(;g;){for(p=t;p=p[g];)if(s?p.nodeName.toLowerCase()===m:1===p.nodeType)return!1;h=g="only"===e&&!h&&"nextSibling"}return!0}if(h=[a?y.firstChild:y.lastChild],a&&v){for(p=y,f=p[q]||(p[q]={}),l=f[p.uniqueID]||(f[p.uniqueID]={}),u=l[e]||[],d=u[0]===H&&u[1],b=d&&u[2],p=d&&y.childNodes[d];p=++d&&p&&p[g]||(b=d=0)||h.pop();)if(1===p.nodeType&&++b&&p===t){l[e]=[H,d,b];break}}else if(v&&(p=t,f=p[q]||(p[q]={}),l=f[p.uniqueID]||(f[p.uniqueID]={}),u=l[e]||[],d=u[0]===H&&u[1],b=d),!1===b)for(;(p=++d&&p&&p[g]||(b=d=0)||h.pop())&&((s?p.nodeName.toLowerCase()!==m:1!==p.nodeType)||!++b||(v&&(f=p[q]||(p[q]={}),l=f[p.uniqueID]||(f[p.uniqueID]={}),l[e]=[H,b]),p!==t)););return(b-=i)===r||b%r==0&&b/r>=0}}},PSEUDO:function(e,n){var i,o=x.pseudos[e]||x.setFilters[e.toLowerCase()]||t.error("unsupported pseudo: "+e);return o[q]?o(n):o.length>1?(i=[e,e,"",n],x.setFilters.hasOwnProperty(e.toLowerCase())?r(function(e,t){for(var r,i=o(e,n),a=i.length;a--;)r=K(e,i[a]),e[r]=!(t[r]=i[a])}):function(e){return o(e,0,i)}):o}},pseudos:{not:r(function(e){var t=[],n=[],i=O(e.replace(ae,"$1"));return i[q]?r(function(e,t,n,r){for(var o,a=i(e,null,r,[]),s=e.length;s--;)(o=a[s])&&(e[s]=!(t[s]=o))}):function(e,r,o){return t[0]=e,i(t,null,o,n),t[0]=null,!n.pop()}}),has:r(function(e){return function(n){return t(e,n).length>0}}),contains:r(function(e){return e=e.replace(be,we),function(t){return(t.textContent||T(t)).indexOf(e)>-1}}),lang:r(function(e){return fe.test(e||"")||t.error("unsupported lang: "+e),e=e.replace(be,we).toLowerCase(),function(t){var n;do{if(n=I?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return(n=n.toLowerCase())===e||0===n.indexOf(e+"-")}while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===P},focus:function(e){return e===_.activeElement&&(!_.hasFocus||_.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:s(!1),disabled:s(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!x.pseudos.empty(e)},header:function(e){return ge.tes
|
|
|
|
|
a&&"get"in a&&(i=a.get(e,!0,n)),void 0===i&&(i=R(e,t,r)),"normal"===i&&t in xt&&(i=xt[t]),""===n||n?(o=parseFloat(i),!0===n||isFinite(o)?o||0:i):i}}),Se.each(["height","width"],function(e,t){Se.cssHooks[t]={get:function(e,n,r){if(n)return!vt.test(Se.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?B(e,t,r):Qe(e,wt,function(){return B(e,t,r)})},set:function(e,n,r){var i,o=dt(e),a=!be.scrollboxSize()&&"absolute"===o.position,s=a||r,c=s&&"border-box"===Se.css(e,"boxSizing",!1,o),u=r?$(e,t,r,c,o):0;return c&&a&&(u-=Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-parseFloat(o[t])-$(e,t,"border",!1,o)-.5)),u&&(i=Ue.exec(n))&&"px"!==(i[3]||"px")&&(e.style[t]=n,n=Se.css(e,t)),V(e,n,u)}}}),Se.cssHooks.marginLeft=q(be.reliableMarginLeft,function(e,t){if(t)return(parseFloat(R(e,"marginLeft"))||e.getBoundingClientRect().left-Qe(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px"}),Se.each({margin:"",padding:"",border:"Width"},function(e,t){Se.cssHooks[e+t]={expand:function(n){for(var r=0,i={},o="string"==typeof n?n.split(" "):[n];r<4;r++)i[e+Ge[r]+t]=o[r]||o[r-2]||o[0];return i}},"margin"!==e&&(Se.cssHooks[e+t].set=V)}),Se.fn.extend({css:function(e,t){return Re(this,function(e,t,n){var r,i,o={},a=0;if(Array.isArray(t)){for(r=dt(e),i=t.length;a<i;a++)o[t[a]]=Se.css(e,t[a],!1,r);return o}return void 0!==n?Se.style(e,t,n):Se.css(e,t)},e,t,arguments.length>1)}}),Se.Tween=W,W.prototype={constructor:W,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||Se.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(Se.cssNumber[n]?"":"px")},cur:function(){var e=W.propHooks[this.prop];return e&&e.get?e.get(this):W.propHooks._default.get(this)},run:function(e){var t,n=W.propHooks[this.prop];return this.options.duration?this.pos=t=Se.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):W.propHooks._default.set(this),this}},W.prototype.init.prototype=W.prototype,W.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=Se.css(e.elem,e.prop,""),t&&"auto"!==t?t:0)},set:function(e){Se.fx.step[e.prop]?Se.fx.step[e.prop](e):1!==e.elem.nodeType||!Se.cssHooks[e.prop]&&null==e.elem.style[H(e.prop)]?e.elem[e.prop]=e.now:Se.style(e.elem,e.prop,e.now+e.unit)}}},W.propHooks.scrollTop=W.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},Se.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},Se.fx=W.prototype.init,Se.fx.step={};var Tt,St,kt=/^(?:toggle|show|hide)$/,Ot=/queueHooks$/;Se.Animation=Se.extend(Z,{tweeners:{"*":[function(e,t){var n=this.createTween(e,t);return v(n.elem,e,Ue.exec(t),n),n}]},tweener:function(e,t){we(e)?(t=e,e=["*"]):e=e.match(Me);for(var n,r=0,i=e.length;r<i;r++)n=e[r],Z.tweeners[n]=Z.tweeners[n]||[],Z.tweeners[n].unshift(t)},prefilters:[X],prefilter:function(e,t){t?Z.prefilters.unshift(e):Z.prefilters.push(e)}}),Se.speed=function(e,t,n){var r=e&&"object"===(void 0===e?"undefined":_typeof(e))?Se.extend({},e):{complete:n||!n&&t||we(e)&&e,duration:e,easing:n&&t||t&&!we(t)&&t};return Se.fx.off?r.duration=0:"number"!=typeof r.duration&&(r.duration in Se.fx.speeds?r.duration=Se.fx.speeds[r.duration]:r.duration=Se.fx.speeds._default),null!=r.queue&&!0!==r.queue||(r.queue="fx"),r.old=r.complete,r.complete=function(){we(r.old)&&r.old.call(this),r.queue&&Se.dequeue(this,r.queue)},r},Se.fn.extend({fadeTo:function(e,t,n,r){return this.filter(Ze).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(e,t,n,r){var i=Se.isEmptyObject(e),o=Se.speed(t,n,r),a=function(){var t=Z(this,Se.extend({},e),o);(i||Ve.get(this,"finish"))&&t.stop(!0)};return a.finish=a,i||!1===o.queue?this.each(a):this.queue(o.queue,a)},stop:function(e,t,n){var r=function(e){var t=e.stop;delete e.stop,t(n)};return"string
|
|
|
|
|
* https://github.com/paulmillr/es6-shim
|
|
|
|
|
* @license es6-shim Copyright 2013-2016 by Paul Miller (http://paulmillr.com)
|
|
|
|
|
* and contributors, MIT License
|
|
|
|
|
* es6-shim: v0.35.4
|
|
|
|
|
* see https://github.com/paulmillr/es6-shim/blob/0.35.3/LICENSE
|
|
|
|
|
* Details and documentation:
|
|
|
|
|
* https://github.com/paulmillr/es6-shim/
|
|
|
|
|
*/
|
|
|
|
|
function(e,t){"function"==typeof define&&define.amd?define("es6-shim",t):"object"===("undefined"==typeof exports?"undefined":_typeof(exports))?module.exports=t():e.returnExports=t()}(this,function(){var e,t=Function.call.bind(Function.apply),n=Function.call.bind(Function.call),r=Array.isArray,i=Object.keys,o=function(e){try{return e(),!1}catch(e){return!0}},a=function(e){try{return e()}catch(e){return!1}},s=function(e){return function(){return!t(e,this,arguments)}}(o),c=!!Object.defineProperty&&function(){return!o(function(){return Object.defineProperty({},"x",{get:function(){}})})}(),u="foo"===function(){}.name,l=Function.call.bind(Array.prototype.forEach),f=Function.call.bind(Array.prototype.reduce),p=Function.call.bind(Array.prototype.filter),d=Function.call.bind(Array.prototype.some),h=function(e,t,n,r){!r&&t in e||(c?Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:!0,value:n}):e[t]=n)},g=function(e,t,n){l(i(t),function(r){var i=t[r];h(e,r,i,!!n)})},y=Function.call.bind(Object.prototype.toString),m="function"==typeof/abc/?function(e){return"function"==typeof e&&"[object Function]"===y(e)}:function(e){return"function"==typeof e},v={getter:function(e,t,n){if(!c)throw new TypeError("getters require true ES5 support");Object.defineProperty(e,t,{configurable:!0,enumerable:!1,get:n})},proxy:function(e,t,n){if(!c)throw new TypeError("getters require true ES5 support");var r=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(n,t,{configurable:r.configurable,enumerable:r.enumerable,get:function(){return e[t]},set:function(n){e[t]=n}})},redefine:function(e,t,n){if(c){var r=Object.getOwnPropertyDescriptor(e,t);r.value=n,Object.defineProperty(e,t,r)}else e[t]=n},defineByDescriptor:function(e,t,n){c?Object.defineProperty(e,t,n):"value"in n&&(e[t]=n.value)},preserveToString:function(e,t){t&&m(t.toString)&&h(e,"toString",t.toString.bind(t),!0)}},b=Object.create||function(e,t){var n=function(){};n.prototype=e;var r=new n;return void 0!==t&&i(t).forEach(function(e){v.defineByDescriptor(r,e,t[e])}),r},w=function(e,t){return!!Object.setPrototypeOf&&a(function(){var n=function t(n){var r=new e(n);return Object.setPrototypeOf(r,t.prototype),r};return Object.setPrototypeOf(n,e),n.prototype=b(e.prototype,{constructor:{value:n}}),t(n)})},x=function(){if("undefined"!=typeof self)return self;if("undefined"!=typeof window)return window;if("undefined"!=typeof global)return global;throw new Error("unable to locate global object")}(),T=x.isFinite,S=Function.call.bind(String.prototype.indexOf),k=Function.apply.bind(Array.prototype.indexOf),O=Function.call.bind(Array.prototype.concat),j=Function.call.bind(String.prototype.slice),A=Function.call.bind(Array.prototype.push),C=Function.apply.bind(Array.prototype.push),E=Function.call.bind(Array.prototype.shift),N=Math.max,_=Math.min,P=Math.floor,I=Math.abs,M=Math.exp,D=Math.log,L=Math.sqrt,R=Function.call.bind(Object.prototype.hasOwnProperty),q=function(){},F=x.Map,H=F&&F.prototype.delete,V=F&&F.prototype.get,$=F&&F.prototype.has,B=F&&F.prototype.set,W=x.Symbol||{},z=W.species||"@@species",U=Number.isNaN||function(e){return e!==e},G=Number.isFinite||function(e){return"number"==typeof e&&T(e)},J=m(Math.sign)?Math.sign:function(e){var t=Number(e);return 0===t?t:U(t)?t:t<0?-1:1},X=function(e){var t=Number(e);return t<-1||U(t)?NaN:0===t||t===1/0?t:-1===t?-1/0:1+t-1==0?t:t*(D(1+t)/(1+t-1))},Y=function(e){return"[object Arguments]"===y(e)},Z=function(e){return null!==e&&"object"===(void 0===e?"undefined":_typeof(e))&&"number"==typeof e.length&&e.length>=0&&"[object Array]"!==y(e)&&"[object Function]"===y(e.callee)},Q=Y(arguments)?Y:Z,K={primitive:function(e){return null===e||"function"!=typeof e&&"object"!==(void 0===e?"undefined":_typeof(e))},string:function(e){return"[object String]"===y(e)},regex:function(e){return"[object RegExp]"===y(e)},symbol:function(e){return"function"==typeof x.Symbol&&"symbol"===(void 0===e?"undefined":_typeof(e))}},ee=function(e,t,n){var r=e[t];h(e,t,n,!0),v.preserveToString(e[t],r)},te="function"==typeof W&&"function"==typeof W.for&&K.symbol(W()),ne=K.
|
|
|
|
|
},y=function(e,t,r,i){e===o?n(e,t,r,i,u):n(e,t,r,i)},m=function(e,t,n){var r=h(e),i=r.resolve,o=r.reject;try{y(n,t,i,o)}catch(e){o(e)}},v=function(){var e=function(t){if(!(this instanceof e))throw new TypeError('Constructor Promise requires "new"');if(this&&this._promise)throw new TypeError("Bad construction");if(!se.IsCallable(t))throw new TypeError("not a valid resolver");var n=Ee(this,e,i,{_promise:{result:void 0,state:0,reactionLength:0,fulfillReactionHandler0:void 0,rejectReactionHandler0:void 0,reactionCapability0:void 0}}),r=h(n),o=r.reject;try{t(r.resolve,o)}catch(e){o(e)}return n};return e}();i=v.prototype;var b=function(e,t,n,r){var i=!1;return function(o){if(!i&&(i=!0,t[e]=o,0==--r.count)){(0,n.resolve)(t)}}},w=function(e,t,n){for(var r,i,o=e.iterator,a=[],s={count:1},c=0;;){try{if(!1===(r=se.IteratorStep(o))){e.done=!0;break}i=r.value}catch(t){throw e.done=!0,t}a[c]=void 0;var u=t.resolve(i),l=b(c,a,n,s);s.count+=1,y(u.then,u,l,n.reject),c+=1}if(0==--s.count){(0,n.resolve)(a)}return n.promise},T=function(e,t,n){for(var r,i,o,a=e.iterator;;){try{if(!1===(r=se.IteratorStep(a))){e.done=!0;break}i=r.value}catch(t){throw e.done=!0,t}o=t.resolve(i),y(o.then,o,n.resolve,n.reject)}return n.promise};return g(v,{all:function(e){var t=this;if(!se.TypeIsObject(t))throw new TypeError("Promise is not object");var n,i,o=new r(t);try{return n=se.GetIterator(e),i={iterator:n,done:!1},w(i,t,o)}catch(e){var a=e;if(i&&!i.done)try{se.IteratorClose(n,!0)}catch(e){a=e}var s=o.reject;return s(a),o.promise}},race:function(e){var t=this;if(!se.TypeIsObject(t))throw new TypeError("Promise is not object");var n,i,o=new r(t);try{return n=se.GetIterator(e),i={iterator:n,done:!1},T(i,t,o)}catch(e){var a=e;if(i&&!i.done)try{se.IteratorClose(n,!0)}catch(e){a=e}var s=o.reject;return s(a),o.promise}},reject:function(e){var t=this;if(!se.TypeIsObject(t))throw new TypeError("Bad promise constructor");var n=new r(t);return(0,n.reject)(e),n.promise},resolve:function(e){var t=this;if(!se.TypeIsObject(t))throw new TypeError("Bad promise constructor");if(se.IsPromise(e)){var n=e.constructor;if(n===t)return e}var i=new r(t);return(0,i.resolve)(e),i.promise}}),g(i,{catch:function(e){return this.then(null,e)},then:function(e,t){var n=this;if(!se.IsPromise(n))throw new TypeError("not a promise");var i,o=se.SpeciesConstructor(n,v);i=arguments.length>2&&arguments[2]===u&&o===v?u:new r(o);var a,f=se.IsCallable(e)?e:s,p=se.IsCallable(t)?t:c,d=n._promise;if(0===d.state){if(0===d.reactionLength)d.fulfillReactionHandler0=f,d.rejectReactionHandler0=p,d.reactionCapability0=i;else{var h=3*(d.reactionLength-1);d[h+0]=f,d[h+1]=p,d[h+2]=i}d.reactionLength+=1}else if(1===d.state)a=d.result,l(f,i,a);else{if(2!==d.state)throw new TypeError("unexpected Promise state");a=d.result,l(p,i,a)}return i.promise}}),u=new r(v),o=i.then,v}}();if(x.Promise&&(delete x.Promise.accept,delete x.Promise.defer,delete x.Promise.prototype.chain),"function"==typeof mn){g(x,{Promise:mn});var vn=w(x.Promise,function(e){return e.resolve(42).then(function(){})instanceof e}),bn=!o(function(){return x.Promise.reject(42).then(null,5).then(null,q)}),wn=o(function(){return x.Promise.call(3,q)}),xn=function(e){var t=e.resolve(5);t.constructor={};var n=e.resolve(t);try{n.then(null,q).then(null,q)}catch(e){return!0}return t===n}(x.Promise),Tn=c&&function(){var e=0,t=Object.defineProperty({},"then",{get:function(){e+=1}});return Promise.resolve(t),1===e}(),Sn=function e(t){var n=new Promise(t);t(3,function(){}),this.then=n.then,this.constructor=e};Sn.prototype=Promise.prototype,Sn.all=Promise.all;var kn=a(function(){return!!Sn.all([1,2])});if(vn&&bn&&wn&&!xn&&Tn&&!kn||(Promise=mn,ee(x,"Promise",mn)),1!==Promise.all.length){var On=Promise.all;ee(Promise,"all",function(e){return se.Call(On,this,arguments)})}if(1!==Promise.race.length){var jn=Promise.race;ee(Promise,"race",function(e){return se.Call(jn,this,arguments)})}if(1!==Promise.resolve.length){var An=Promise.resolve;ee(Promise,"resolve",function(e){return se.Call(An,this,arguments)})}if(1!==Promise.reject.length){var Cn=Promise.reject;ee(Promise,"r
|
|
|
|
|
hookFront:"hook"},cannotCross:["verbatimOpener"]}}},unclosedHook:{fn:o},unclosedHookPrepended:{fn:function(e){return{type:"unclosedHook",name:e[1],hidden:")"===e[2]}}},verbatimOpener:{fn:function(e){var t=e[0].length,n={};return n["verbatim"+t]="verbatim",{type:"verbatim"+t,isFront:!0,matches:n}}},collapsedFront:{fn:function(){return{isFront:!0}}},collapsedBack:{fn:function(){return{matches:{collapsedFront:"collapsed"},cannotCross:["verbatimOpener"]}}},escapedLine:{fn:o},legacyLink:{fn:function(e){return{type:"twineLink",innerText:e[1],passage:e[2]}}},br:{fn:o}}),l=i(s,{macroFront:{fn:function(e){return{isFront:!0,name:e[1]}}},groupingBack:{fn:function(){return{matches:{groupingFront:"grouping",macroFront:"macro"},cannotCross:["singleStringOpener","doubleStringOpener"]}}},passageLink:{fn:function(e){var t=e[1]||"",n=e[2]||"",r=e[3]||"";return{type:"twineLink",innerText:n?r:t,passage:t?r:n}}},simpleLink:{fn:function(e){return{type:"twineLink",innerText:e[1]||"",passage:e[1]||""}}},variable:{fn:t("name")},tempVariable:{fn:t("name")}}),f=i(s,Object.assign({macroName:{canFollow:["macroFront"],fn:function(e){return e[2]?{isMethodCall:!0,innerText:e[2]}:{isMethodCall:!1}}},groupingFront:{fn:function(){return{isFront:!0}}},property:{fn:t("name"),canFollow:["variable","hookRef","property","tempVariable","colour","itsProperty","belongingItProperty","macro","grouping","string","boolean","number"]},possessiveOperator:{fn:o},itsProperty:{cannotFollow:["text"],fn:t("name")},itsOperator:{cannotFollow:["text"],fn:o},belongingItProperty:{cannotFollow:["text"],fn:t("name")},belongingItOperator:{cannotFollow:["text"],fn:o},belongingProperty:{cannotFollow:["text"],fn:t("name")},belongingOperator:{cannotFollow:["text"],fn:o},escapedStringChar:{fn:function(){return{type:"text"}}},singleStringOpener:{fn:function(){return{isFront:!0,matches:{singleStringOpener:"string"}}}},doubleStringOpener:{fn:function(){return{isFront:!0,matches:{doubleStringOpener:"string"}}}},hookRef:{fn:t("name")},cssTime:{fn:function(e){return{value:+e[1]*("s"===e[2].toLowerCase()?1e3:1)}}},datatype:{cannotFollow:["text"],fn:function(e){return{name:e[0].toLowerCase()}}},colour:{cannotFollow:["text"],fn:function(e){var t,n=e[0].toLowerCase(),r={red:"e61919",orange:"e68019",yellow:"e5e619",lime:"80e619",green:"19e619",cyan:"19e5e6",aqua:"19e5e6",blue:"197fe6",navy:"1919e6",purple:"7f19e6",fuchsia:"e619e5",magenta:"e619e5",white:"fff",black:"000",gray:"888",grey:"888"};return t=Object.hasOwnProperty.call(r,n)?"#"+r[n]:n,{colour:t}}},number:{fn:function(e){return{value:parseFloat(e[0])}}},inequality:{fn:function(e){return{operator:e[2],negate:e[1].indexOf("not")>-1}}},augmentedAssign:{fn:function(e){return{operator:e[0][0]}}},identifier:{fn:t("name"),cannotFollow:["text"]},whitespace:{fn:o,cannotFollow:"text"},incorrectOperator:{fn:function(e){var t={"=>":">=","=<":"<=",gte:">=",lte:"<=",gt:">",lt:"<",eq:"is",isnot:"is not",neq:"is not",isa:"is a",are:"is",x:"*","or a":"or"}[e[0].toLowerCase().replace(/\s+/g," ")];return{type:"error",message:"Please say "+(t?"'"+t+"'":"something else")+" instead of '"+e[0]+"'.",explanation:"In the interests of readability, I want certain operators to be in a specific form."}},cannotFollow:"text"}},["boolean","is","to","into","where","when","via","with","making","each","and","or","not","isNot","contains","isIn","isA","isNotA","matches","bind"].reduce(function(e,t){return e[t]={fn:o,cannotFollow:["text"]},e},{}),["comma","spread","addition","subtraction","multiplication","division"].reduce(function(e,t){return e[t]={fn:o},e},{})));a.push.apply(a,_toConsumableArray(Object.keys(c)).concat(_toConsumableArray(Object.keys(l)),_toConsumableArray(Object.keys(u)))),s.push.apply(s,_toConsumableArray(Object.keys(l)).concat(_toConsumableArray(Object.keys(f))));var p=Object.assign({},c,u,l,f);return Object.keys(p).forEach(function(e){var t=n[e];p[e].pattern="string"!=typeof t?t:new RegExp("^(?:"+t+")","i"),n[e+"Peek"]&&(p[e].peek=n[e+"Peek"])}),Object.assign(e.rules,p),e.modes.start=e.modes.markup=a,e.modes.macro=s,e}function t(t){return Object.freeze({
|
|
|
|
|
}).trim(),b=b||a(e.slice(d+1)).trim(),j&&!v&&(v=" Operations.Identifiers.it "),k&&!v||O&&!b?f&&O&&!b?"":"TwineError.create('operation','I need some code to be "+(k?"left ":"")+(k&&O?"and ":"")+(O?"right ":"")+'of "'+p.text+"\"')":w?v+w+b:T?"Operations.makeAssignmentRequest("+[v,b,s(T)]+")":S?"VarRef.create("+("belonging"===S?b:v)+",{computed:true,value:"+("belonging"===S?v:b)+"})"+(n?"":".get()"):x?" Operations["+s(x)+"]("+v+","+b+") ":""):1===e.length?(("value"in e[0]?e[0].value:e[0].text)+"").trim()||" ":e.reduce(function(e,t){return e+a(t,{isVarRef:n})},"")}var s=e.toJSLiteral,c=e.impossible;return a}),define("renderer",["utils","markup","twinescript/compiler","internaltypes/twineerror"],function(e,t,n,r){function i(e,t){return"<"+t+">"+e+"</"+t+">"}function o(e,t){var n=f.render(e.children);return n&&i(n,t)}function a(e){var t=[];if("string"!==e.type)for(var n=0;n<e.children.length;n+=1)t.push.apply(t,_toConsumableArray(a(e.children[n])));var r=e.firstChild();return"macro"===e.type&&r&&"macroName"===r.type&&f.options.blockerMacros.includes(l(r.text.slice(0,-1)))&&t.push(e),t}var s=e.escape,c=e.impossible,u=e.toJSLiteral,l=e.insensitiveName,f=void 0,p="text-align: center; max-width:50%; ";return f={options:{blockerMacros:[]},exec:function(){var e=void 0,n=void 0;return function(r){return"string"!=typeof r?(c("Renderer.exec","source was not a string, but "+(void 0===r?"undefined":_typeof(r))),""):r===e?n:(e=r,n=f.render(t.lex(r).children))}}(),render:function e(c){var d="",h=[];if(!c)return d;for(var g=c.length,y=0;y<g;y+=1){var m=c[y];switch(m.type){case"error":d+=r.create("syntax",m.message).render(s(m.text))[0].outerHTML;break;case"numbered":case"bulleted":var v="numbered"===m.type?"ol":"ul";d+="<"+v+">";for(var b=1;y<g&&c[y]&&c[y].type===m.type;)d+=("<"+v+">").repeat(Math.max(0,c[y].depth-b)),d+=("</"+v+">").repeat(Math.max(0,b-c[y].depth)),b=c[y].depth,d+=o(c[y],"li"),y+=1;y-=1,d+=("</"+v+">").repeat(b+1);break;case"align":for(;m&&"align"===m.type;){var w=m,x=w.align,T=y+=1;if("left"===x){y-=1;break}for(;y<g&&c[y]&&"align"!==c[y].type;)y+=1;var S=e(c.slice(T,y)),k="";switch(x){case"center":k+=p+"margin-left: auto; margin-right: auto;";break;case"justify":case"right":k+="text-align: "+x+";";break;default:+x&&(k+=p+"margin-left: "+x+"%;")}d+="<tw-align "+(k?'style="'+k+'"':"")+(f.options.debug?' title="'+m.text+'"':"")+">"+S+"</tw-align>\n",m=c[y]}break;case"column":for(var O=[];m&&"column"===m.type;){var j=m,A=j.column,C=y+=1;if("none"===A){y-=1;break}for(;y<g&&c[y]&&"column"!==c[y].type;)y+=1;O.push({text:m.text,type:A,body:e(c.slice(C,y)),width:m.width,marginLeft:m.marginLeft,marginRight:m.marginRight}),m=c[y]}O.length&&function(){var e=O.reduce(function(e,t){return e+t.width},0);d+="<tw-columns>"+O.map(function(t){return"<tw-column type="+t.type+' style="width:'+t.width/e*100+"%; margin-left: "+t.marginLeft+"em; margin-right: "+t.marginRight+'em;" '+(f.options.debug?' title="'+t.text+'"':"")+">"+t.body+"</tw-column>\n"}).join("")+"</tw-columns>"}();break;case"heading":d+=o(m,"h"+m.depth);break;case"br":if(!h.length||/td|th/.test(h[0])){d+="<br>";for(var E=c[y+1];E&&("br"===E.type||"tag"===E.type&&/^<br\b/i.test(E.text));)d+="<br data-cons "+("tag"===E.type?"data-raw":"")+">",y+=1,E=c[y+1]}break;case"hr":d+="<hr>";break;case"escapedLine":case"comment":break;case"inlineUrl":d+='<a class="link" href="'+s(m.text)+'">'+m.text+"</a>";break;case"scriptStyleTag":case"tag":var N=m.text.toLowerCase();/^<\/?(?:table|thead|tbody|tr|tfoot|td|th)\b/.test(N)&&h[m.text.startsWith("</")?"shift":"unshift"](N),d+=m.text.startsWith("</")?m.text:m.text.replace(/>$/," data-raw>");break;case"sub":case"sup":case"strong":case"em":d+=o(m,m.type);break;case"strike":d+=o(m,"s");break;case"bold":d+=o(m,"b");break;case"italic":d+=o(m,"i");break;case"twineLink":var _=_slicedToArray(t.lex("(link-goto:"+u(m.innerText)+","+u(m.passage)+")").children,1),P=_[0];d+='<tw-expression type="macro" name="link-goto"'+(f.options.debug?' title="'+s(m.text)+'"':"")+' js="'+s(n(P))+'"></tw-expression>';break;case"hook":d+="<tw-hook "+(m.hidden?"hidden ":""
|
|
|
|
|
add:function e(t,n,r){return f(t,u(l(t,n,r))),e},addChanger:function e(t,n,r,o){return f(t,u(l(t,n,o))),i.register(Array.isArray(t)?t[0]:t,r),e},addCommand:function e(t,n,r,i){var o=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],a=[].concat(t)[0];return f(t,u(l(t,T(a,n,r,o),i))),e},TypeSignature:{optional:function(e){return{pattern:"optional",innerType:e}},zeroOrMore:function(e){return{pattern:"zero or more",innerType:e}},either:function(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];return{pattern:"either",innerType:t}},rest:function(e){return{pattern:"rest",innerType:e}},wrapped:function(e,t){return{pattern:"wrapped",innerType:e,message:t}},Any:{TwineScript_TypeName:"anything"}},run:function(e,t){return c.containsError(e)?e:w.has(e)?w.get(e)(t):c.create("macrocall","I can't run the macro '"+e+"' because it doesn't exist.","Did you mean to run a macro? If you have a word written like (this:), it is regarded as a macro name.")}},Object.freeze(w)}),define("datatypes/datatype",["datatypes/changercommand","datatypes/colour","datatypes/gradient"],function(e,t,n){var r=Object.freeze({datatype:!0,TwineScript_TypeName:"a datatype",TwineScript_Print:function(){return"`["+this.TwineScript_ObjectName+"]`"},TwineScript_is:function(e){return r.isPrototypeOf(e)&&e.name===this.name},TwineScript_Clone:function(){return r.create(this.name)},TwineScript_IsTypeOf:function(e){return this.name===(Array.isArray(e)?"array":e instanceof Map?"datamap":e instanceof Set?"dataset":t.isPrototypeOf(e)?"colour":n.isPrototypeOf(e)?"gradient":"string"==typeof e?"string":"number"==typeof e?"number":"boolean"==typeof e?"boolean":"unknown")},create:function(e){return e="dm"===e?"datamap":"ds"===e?"dataset":"num"===e?"number":"str"===e?"string":"color"===e?"colour":e,Object.assign(Object.create(this),{name:e,TwineScript_ObjectName:"the "+e+" datatype"})}});return r}),define("datatypes/varbind",["utils","utils/operationutils","internaltypes/varref","internaltypes/twineerror"],function(e,t,n,r){var i=t.objectName;return Object.freeze({TwineScript_TypeName:"a bound variable",TwineScript_ObjectName:"a bound variable",TwineScript_Unstorable:!0,set:function(e){var t=this.varRef.set(e),n=void 0;if(n=r.containsError(t))return n},create:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"one way";return n.isPrototypeOf(e)||e.varref?Object.assign(Object.create(this),{varRef:e,bind:t}):r.create("operation","I can only 'bind' a variable, not "+i(e)+".")}})}),define("datatypes/assignmentrequest",["utils"],function(e){var t=e.assertMustHave;return Object.freeze({assignmentRequest:!0,TwineScript_TypeName:"a 'to' or 'into' expression",TwineScript_ObjectName:"a 'to' or 'into' expression",TwineScript_Unstorable:!0,create:function(e,n,r){return t(e,["varref"]),Object.assign(Object.create(this),{dest:e,src:n,operator:r})}})}),define("twinescript/operations",["jquery","state","datatypes/assignmentrequest","utils/operationutils","internaltypes/twineerror"],function(e,t,n,r,i){function o(e,t,n,r){return n=n||"do this to",function(o,a){1===t.length&&(a=o);var s=void 0;return(s=i.containsError(o,a))?s:(void 0===o?"undefined":_typeof(o))!==e||(void 0===a?"undefined":_typeof(a))!==e?i.create("operation","I can only "+n+" "+e+"s, not "+y((void 0===o?"undefined":_typeof(o))!==e?o:a)+".",r):t(o,a)}}function a(e){return function(t,n){var r=void 0;return(r=i.containsError(t,n))?r:t&&t.varref?i.create("operation","I can't give an expression a new value."):(void 0===t?"undefined":_typeof(t))!==(void 0===n?"undefined":_typeof(n))||c(t)&&"TwineScript_TypeName"in t&&c(n)&&"TwineScript_TypeName"in n&&t.TwineScript_TypeName!==n.TwineScript_TypeName||u(t)!==u(n)?i.create("operation",y(t)+" isn't the same type of data as "+y(n)):e(t,n)}}function s(e){return function t(n,r){var o=void 0;if(o=i.containsError(n,r))return o;if(v=n,n.determiner){var a="all"===n.determiner;return n.array.reduce(function(e,n){var o=void 0,s=t(n,r);return(o=i.containsError(e,s))?o:a?e&&s:e||s},a)}if(r.determiner){var s="all"===r.determiner;return r.array.reduce(fu
|
|
|
|
|
return o.create("macrocall","An odd number of values must be given to (cond:), not "+(arguments.length<=1?0:arguments.length-1),"(cond:) must be given one or more pairs of booleans and values, as well as one final value.")},[Boolean,v,h(v)]),{weekday:[function(){return["Sun","Mon","Tues","Wednes","Thurs","Fri","Satur"][(new Date).getDay()]+"day"},null],monthday:[function(){return(new Date).getDate()},null],currenttime:[function(){var e=new Date,t=e.getHours()<12;return(e.getHours()%12||12)+":"+(e.getMinutes()<10?"0":"")+e.getMinutes()+" "+(t?"A":"P")+"M"},null],currentdate:[function(){return(new Date).toDateString()},null],min:[Math.min,h(Number)],max:[Math.max,h(Number)],abs:[Math.abs,Number],sign:[Math.sign,Number],sin:[Math.sin,Number],cos:[Math.cos,Number],tan:[Math.tan,Number],floor:[Math.floor,Number],round:[Math.round,Number],ceil:[Math.ceil,Number],pow:[a(Math.pow),[Number,Number]],exp:[Math.exp,Number],sqrt:[a(Math.sqrt),Number],log:[a(Math.log),Number],log10:[a(Math.log10),Number],log2:[a(Math.log2),Number],random:[function(e,t){var n=void 0,r=void 0;return t?(n=Math.min(e,t),r=Math.max(e,t)):(n=0,r=e),r+=1,~~(Math.random()*(r-n))+n},[parseInt,e.TypeSignature.optional(parseInt)]],either:[function(){var e;return e=~~(Math.random()*arguments.length),arguments.length<=e?void 0:arguments[e]},h(v)],nth:[function(e){var t;return e<=0?o.create("datatype","(nth:)'s first value should be a positive whole number, not "+e):(t=(e-1)%(arguments.length<=1?0:arguments.length-1)+1,arguments.length<=t?void 0:arguments[t])},[parseInt,h(v)]],"":function(){var t=this;Object.keys(this).forEach(function(n){if(n){var r=t[n][0],i=t[n][1];e.add(n,function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),i=1;i<t;i++)n[i-1]=arguments[i];return r.apply(void 0,n)},i)}})}}[""]()}),function(e){!function(){if(!e.requestAnimationFrame){if(e.webkitRequestAnimationFrame)return e.requestAnimationFrame=e.webkitRequestAnimationFrame,void(e.cancelAnimationFrame=e.webkitCancelAnimationFrame||e.webkitCancelRequestAnimationFrame);var t=0;e.requestAnimationFrame=function(n){var r=(new Date).getTime(),i=Math.max(0,16-(r-t)),o=e.setTimeout(function(){n(r+i)},i);return t=r+i,o},e.cancelAnimationFrame=function(e){clearTimeout(e)}}}(),"function"==typeof define&&define("requestAnimationFrame",[],function(){return e.requestAnimationFrame})}(window),define("macrolib/commands",["jquery","requestAnimationFrame","macros","utils","utils/selectors","state","passages","renderer","engine","internaltypes/twineerror","datatypes/hookset","datatypes/varbind","utils/operationutils","utils/dialog"],function(e,t,n,r,i,o,a,s,c,u,l,f,p,d){function h(e){return"("+e+" "+c.options.ifid+") "}var g=p.printBuiltinValue,y=n.TypeSignature,m=y.Any,v=y.rest,b=y.either,w=y.optional,x=Object.assign;n.addCommand("display",function(e){if(!a.hasValid(e))return u.create("macrocall","I can't (display:) the passage '"+e+"' because it doesn't exist.")},function(e,t,n){return x(e,{source:r.unescape(a.get(n).get("source"))})},[String])("print",function(){},function(e,t,n){return x(e,{source:g(n)})},[m])("go-to",function(e){if(!a.hasValid(e))return u.create("macrocall","I can't (go-to:) the passage '"+e+"' because it doesn't exist.")},function(e,n,r){return t(function(){return c.goToPassage(r,{transitionOut:e.data.t8nDepart,transitionIn:e.data.t8nArrive})}),"blocked"},[String])("undo",function(){},function(e){return o.pastLength<1?u.create("macrocall","I can't (undo:) on the first turn."):(t(function(){return c.goBack({transitionOut:e.data.t8nDepart,transitionIn:e.data.t8nArrive})}),"blocked")},[])("cycling-link",function(){if(""===(arguments.length<=0?void 0:arguments[0]))return u.create("macrocall","The first string in a (cycling-link:) can't be empty.");if(arguments.length<=(f.isPrototypeOf(arguments.length<=0?void 0:arguments[0])?2:1)){var e;return u.create("macrocall","I need two or more strings to cycle through, not just '"+(e=arguments.length-1,arguments.length<=e?void 0:arguments[e])+"'.")}},function(e,t){for(var n=arguments.length,r=Array(n>2?n-2:0),i=2;i<n;i++)r[i-2]=arguments[i];var o=v
|
|
|
|
|
;t.data.section=t.section,t.data.clickEvent=function(n){"link-reveal"===e[0]&&n.contents().unwrap(),t.source=t.innerSource+"",t.transitionDeferred=!1,t.section.renderInto("",null,t,i)}},[String])}),t.addCommand(["link-goto"],function(e){if(!e)return u.create.apply(u,["macrocall"].concat(h))},function(e,t,r,a){var s=void 0,c=l(t,r,a);if(r=c.text,a=c.passage,s=c.error)return s;var u=void 0;return o.hasValid(a)||(u='<tw-broken-link passage-name="'+n.escape(a)+'">'+r+"</tw-broken-link>"),u=u||"<tw-link tabindex=0 "+(i.passageNameVisited(a)>0?'class="visited" ':"")+">"+r+"</tw-link>",e.data.linkPassageName=a,e.data.section=t,g(e,{source:u,transitionDeferred:!0})},[String,p(String)])("link-undo",function(e){if(!e)return u.create("macrocall",h[0])},function(e,t,n){return i.pastLength<1?u.create("macrocall","I can't use (link-undo:) on the first turn."):(e.data.section=t,g(e,{source:"<tw-link tabindex=0 undo>"+n+"</tw-link>",transitionDeferred:!0}))},[String])("link-show",function(e){if(!e)return u.create("macrocall",h[0])},function(e,t,n){for(var r=arguments.length,i=Array(r>3?r-3:0),o=3;o<r;o++)i[o-3]=arguments[o];var a=_slicedToArray(t.stack,1),s=a[0].tempVariables;return e.data.section=t,e.data.clickEvent=function(n){n.contents().unwrap(),i.forEach(function(n){return n.forEach(t,function(n){var r=n.data("hiddenSource");void 0!==r&&t.renderInto("",null,g({},e,{source:r,target:n,transitionDeferred:!1}),s)})})},g(e,{source:"<tw-link tabindex=0>"+n+"</tw-link>",transitionDeferred:!0})},[String,d(c)]),t.addChanger(["link-reveal-goto"],function(e,t,n){if(!t)return u.create.apply(u,["macrocall"].concat(h));var r=l(e,t,n);return t=r.text,n=r.passage,r.error||s.create("link-reveal-goto",[t,n])},function(e,t,r){if(!o.hasValid(r))return void(e.source='<tw-broken-link passage-name="'+n.escape(r)+'">'+t+"</tw-broken-link>");e.innerSource||(e.innerSource=e.source);var s=i.passageNameVisited(r);e.source="<tw-link tabindex=0 "+(s>0?'class="visited" ':"")+">"+t+"</tw-link>",e.append="append",e.transitionDeferred=!0;var c=_slicedToArray(e.section.stack,1),u=c[0].tempVariables;e.data.section=e.section,e.data.clickEvent=function(t){e.source=e.innerSource,t.contents().unwrap(),e.transitionDeferred=!1,e.section.renderInto(e.innerSource+"",null,e,u),e.section.whenUnblocked(function(){return a.goToPassage(r,{transitionOut:e.data.t8nDepart,transitionIn:e.data.t8nArrive})})}},[String,p(String)])}),define("repl",["utils","engine","markup","twinescript/compiler","twinescript/environ"],function(e,t,n,r,i){e.onStartup(function(){return setTimeout(function(){t.options.debug&&(window.REPL=function(e){var t=r(n.lex("(print:"+e+")"));console.log(t);var o=i({}).eval(t);return o.TwineScript_Print?o.TwineScript_Print():o},window.LEX=function(e){var t=n.lex(e);return 1===t.length?t[0]:t})})})}),require.config({paths:{jquery:"../node_modules/jquery/dist/jquery",almond:"../node_modules/almond/almond","es6-shim":"../node_modules/es6-shim/es6-shim",requestAnimationFrame:"../node_modules/requestanimationframe/app/requestAnimationFrame",jqueryplugins:"utils/jqueryplugins",markup:"./markup/markup",lexer:"./markup/lexer",patterns:"./markup/patterns"},deps:["jquery","es6-shim","jqueryplugins"]}),require(["jquery","debugmode","renderer","state","engine","passages","utils","utils/selectors","utils/dialog","macros","macrolib/values","macrolib/commands","macrolib/datastructures","macrolib/stylechangers","macrolib/enchantments","macrolib/links","repl"],function($,DebugMode,Renderer,State,Engine,Passages,Utils,Selectors,Dialog){function __HarloweEval(text){return eval(text+"")}function printJSError(e){var t=e.name+": "+e.message;if(e.stack){var n=e.stack.split("\n"),r=n.findIndex(function(e){return e.includes("__HarloweEval")});t+="\n"+n.slice(0,r).join("\n").replace(/\([^\)]+\)/g,"")}return"<div style='font-family:monospace;overflow-y:scroll;max-height:30vh'>```"+t+"```</div>"}var _installHandlers=function(){$(document.documentElement).on("keydown",function(e){13===e.which&&"0"===e.target.getAttribute("tabindex")&&$(e.target).trigger("click")}),Engine.options.debug&&DebugMod
|
|
|
|
|
</script>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</body>
|
|
|
|
|
</html>
|