Plugin Directory

Changeset 3235663


Ignore:
Timestamp:
02/05/2025 08:08:28 PM (14 months ago)
Author:
genolve
Message:
  • Add a tour for adding video to podcasts.
  • Autogen subtitles for podcasts or lyrics for music.
Location:
genolve-toolkit/trunk
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • genolve-toolkit/trunk/css/genolve-style.css

    r3027954 r3235663  
    4040}
    4141.gnlv-svg-mask3 {
    42     filter: url(#g_maskinnershadow);
     42    filter: blur(5px);
    4343}
    4444.gnlv-svg-mask4 {
     
    4646} /* these are in test_template_helpers */
    4747.gnlv-svg-mask5 {
    48     filter: url(#g_maskinvert);
     48    filter: url(#g_masktornedge);
    4949}
    5050.gnlv-svg-mask6 {
     
    5555}
    5656.gnlv-svg-mask8 {
    57     filter: url(#g_maskvlines);
     57    filter: url(#g_maskwavyedge);
    5858}
    5959.gnlv-svg-mask9 {
    60     filter: url(#g_maskvlinesani);
     60    filter: url(#g_maskwavyedgeani);
    6161}
    6262.gnlv-svg-maskt2 {
     
    100100    transform:translate(-500px,-500px) ;
    101101}
     102.gnlv-nine {
     103    transform-origin: center center;
     104  animation: gnlv-spin-ani 15s  infinite;
     105}
    102106*/
     107.gnlv-oline-use {
     108    fill: none;
     109  stroke: #FFFFFF;
     110    stroke-width: 8;
     111}
     112.gnlv-aline {
     113    fill: none;
     114  stroke: #FFFFFF;
     115    stroke-width: 8;
     116}
     117.gnlv-bline-slide {
     118    fill: none;
     119  stroke: var(--g_kula1,#FFCC33);
     120    stroke-width: 8;
     121}
     122.gnlv-bline {
     123    /*pathLength:1000; no effect put as prop
     124    dont set other props to not clobber border or gradient
     125    fill: none;
     126  stroke: var(--g_kula1,#FFCC33);
     127    stroke-width: 8;
     128    */
     129  stroke-linecap:round;
     130  stroke-dasharray:500 500;
     131  stroke-dashoffset:1;
     132}
     133.gnlv-ninty {
     134  animation: gnlv-rotate-ani 35s  infinite;
     135}
    103136.gnlv-invrt {
    104137    fill-rule:evenodd;
     
    141174  animation: gnlv-width  2s linear  forwards  ;
    142175}
     176.gnlv-aniwidth30 {
     177  background: #FC3;
     178    height: 30px;
     179  animation: gnlv-width  30s linear  forwards  ;
     180}
     181.gnlv-aniwidth99 {
     182  background: #FC3;
     183    height: 30px;
     184  animation: gnlv-width  99s ease-out  forwards  ;
     185}
     186.gnlv-swatch {
     187    width:14px;
     188    height:14px;
     189    margin:1px;
     190    cursor:pointer;
     191    border-radius:3px;
     192    border: 1px solid black;
     193}
     194.gnlv-swatch:hover {
     195    border: 1px solid #CCCCCC;
     196}
     197.gnlv-bar {
     198    height: 18px;
     199    background: green;
     200}
     201.gnlv-file {
     202   position: relative;
     203   background: linear-gradient(to right, lightblue 50%, transparent 50%);
     204   background-size: 200% 100%;
     205   background-position: right bottom;
     206   transition:all 1s ease;
     207}
     208 .gnlv-file.done {
     209   background: lightgreen;
     210}
     211 .gnlv-file a {
     212   display: block;
     213   position: relative;
     214   padding: 5px;
     215   color: black;
     216}
     217.gnlv-media-icon img{
     218    height:16px;
     219}
    143220.gnlv-font {
    144221    font-size:58px;
     
    147224    font-size:28px;
    148225    font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji"; /* needed for icons to appear on mac */
     226}
     227.gnlv-font20 {/* used by resize menu */
     228    font-size:20px;
     229    margin:auto;
     230    width:65%;
     231    text-align:left;
     232    font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";
    149233}
    150234@media screen and (orientation:portrait) {
     
    176260  to {
    177261    transform: rotateZ(360deg);
     262  }
     263}
     264@keyframes gnlv-rotate-ani {
     265  from {
     266    transform: translate(100px,100px) rotate(0deg) translate(-100px,-100px);
     267  }
     268  to {
     269    transform: translate(100px,100px) rotate(360deg) translate(-100px,-100px);
    178270  }
    179271}
     
    214306.rightit {
    215307    text-anchor: end;
     308}
     309.gnlv-curved {
     310    text-anchor: start;
    216311}
    217312.ignoreclicks {
  • genolve-toolkit/trunk/genolve-toolkit.php

    r3202739 r3235663  
    22/*
    33 * Plugin Name: Genolve AI image AI video generator
    4  * Version: 5.0.1
     4 * Version: 5.0.2
    55 * Plugin URI: https://www.genolve.com/
    66 * Description: Stunning AI video & images from a prompt, plus amazing toolkit to make banners, slideshows or music videos with AI assisted design.
  • genolve-toolkit/trunk/inc/functions.php

    r3202739 r3235663  
    2121define( 'GENOLVE_ACTION_URL',  'https://www.genolve.com/');     
    2222define( 'GENOLVE_JS_URL',      'https://www.genolve.com/js/' );
    23 define( 'GENOLVE_VER',         '-5.0.1' );
     23define( 'GENOLVE_VER',         '-5.0.2' );
    2424
    2525/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
     
    398398    $result = wp_remote_post( $faction, array(
    399399                                                                            'method' => 'POST',
    400                                                                             'timeout' => 120,
     400                                                                            'timeout' => 170,  //20250116 120 -> 170  do not want to trigger before cloudflare timeout
    401401                                                                            'redirection' => 5,
    402402                                                                            //'httpversion' => '1.0',
     
    412412// result.response.[code,message]
    413413// result.cookies
    414 ////echo "body:".$result['body']." response:".$result['response'];
     414// debug:
     415///echo "body:".$result['body']." <br>===================response:".$result['response'];
    415416    if ( is_wp_error( $result ) ) {// errors
    416             genolve_send_json_error( $result->get_error_message() );
     417            $stuff = $result->get_error_message();
     418            if( array_key_exists('body',$result))
     419                $stuff .= "<br>BODY first 500 chars:".substr($result['body'],0,700);
     420            genolve_send_json_error( $stuff );
    417421        }
    418422    else { //good2go
     
    447451            }
    448452        // show an error
    449         genolve_send_json_error("genolve_proxy: The server did not return expected type, got:".gettype($thebody)." first 100 chars:".substr($thebody,0,100));
     453        genolve_send_json_error("genolve_proxy: The server did not return expected type, got:".gettype($thebody)." first 500 chars:".substr($thebody,0,500));
    450454        }// end good2go
    451455    //
  • genolve-toolkit/trunk/js/bootstrap-4-0-ns/css/bootstrap-ns.css

    r2670113 r3235663  
    60336033  background-color: #343a40 !important;
    60346034}
    6035 
     6035.twbs .bg-black {
     6036  background-color: #000000 !important;
     6037}
    60366038.twbs a.bg-dark:hover, .twbs a.bg-dark:focus,
    60376039.twbs button.bg-dark:hover,
     
    61196121  border-color: #343a40 !important;
    61206122}
    6121 
     6123.twbs .border-black {
     6124  border-color: #000000 !important;
     6125}
    61226126.twbs .border-white {
    61236127  border-color: #fff !important;
  • genolve-toolkit/trunk/js/genolve-3rdparty.js

    r3135668 r3235663  
    1 function GNLV_3RDPARTY(c,G,y){function W(b){for(var a=0,d="",f="0123456789abcdef".split("");a<b;)d+=f[Math.floor(16*Math.random())],a++;return"#"+d}function ea(b,a){if(a<b.length)for(var d=0;d<b.length;d++){var f=b[d].attr("class");c.vprint("d3","confetti:  SPRITE ["+d+"] current:"+f);d==a?b[d].classed("gnlv-gone",!1):b[d].classed("gnlv-gone",!0)}else console.warn("3rdparty.classAct sprite"+a+" past num:"+b.length)}var l=this,F=this,L=-1,R=[42,43],fa="easeLinear,easeQuad,easeQuadIn,easeQuadOut,easeCubic,easeCubicIn,easeCubicOut,easeSin,easeSinIn,easeSinOut,easeExp,easeExpIn,easeExpOut,easeCircle,easeCircleIn,easeCircleOut".split(/,/),
    2 ha=["uniform","bands","bigMiddle","bigEdge","RANDOM"],ia="complementary splitcomplementary analagous triadic tetradic monochromatic".split(" "),la="complementaryScheme,splitComplementaryScheme,splitComplementaryCWScheme,splitComplementaryCCWScheme,triadicScheme,clashScheme,tetradicScheme,fourToneCWScheme,fourToneCCWScheme,fiveToneAScheme,fiveToneBScheme,fiveToneCScheme,fiveToneDScheme,fiveToneEScheme,sixToneCWScheme,sixToneCCWScheme,neutralScheme,analogousScheme".split(/,/),ma="interpolateMagma,interpolateViridis,interpolateInferno,interpolatePlasma,interpolateWarm,interpolateCool,interpolateRainbow,interpolateCubehelixDefault".split(/,/);
    3 this.apidiv=this.imgkey="notset";this.apidivA={};this.Color=this.cryb="notset";this.kulaA;this.pjA;this.limitkula;this.setValMode=Object.freeze({LOOP:"LOOP",LIMIT:"LIMIT",RANDOM:"RANDOM"});null==y&&(y=jQuery);c.vprint("d3","3 3 3 3 3 3 3 3 3 3 3 3  INIT 3rd party scripts  have d3?"+typeof d3+" have Color?"+typeof net+" have ColorRYB?"+typeof ColorRYB+"3 3 3 3 3 3 3 3 3 3 3 3 eloop:"+typeof document.eloop);var E=document.eloop;"undefined"==typeof net||"undefined"==typeof ColorRYB?(c.vprint("d3","3 3 3 3 3 3 3 3 3 3 3 3  INIT dynamic load color.js scripts   3 3 3 3 3 3 3 3 3 3 3 3 from:"+
    4 E.actionhost),y.getScript(E.actionhost+"/js/color-js/color.js",function(){l.Color=net.brehaut.Color;l.cryb=new ColorRYB(c,y);c.vprint("d3","3 3 3 3 3 3 3 3 3 3 3 3 DONE INIT dynamic load color scripts DONE  3 3 3 3 3 3 3 3 3 3 3 3 had net.Color?"+typeof net+" cryb?"+typeof ColorRYB)})):(l.Color=net.brehaut.Color,l.cryb=new ColorRYB(c,y),c.vprint("d3","3 3 3 3 3 3 3 3 3 3 3 3  INIT normal load color scripts DONE  3 3 3 3 3 3 3 3 3 3 3 3"));"undefined"==typeof d3&&y.getScript(E.actionhost+"/js/d3/d3.min.js",
    5 function(){c.vprint("d3","3 3 3 3 3 3 3 3 3 3 3 3  d3 loaded DONE  3 3 3 3 3 3 3 3 3 3 3 3")});this.mulberry32=function(b){return function(){var a=b+=1831565813;a=Math.imul(a^a>>>15,a|1);a^=a+Math.imul(a^a>>>7,a|61);return((a^a>>>14)>>>0)/4294967296}};this.d3interpolate=function(b,a,d){c.vprint("d3","d3interpolate  = = =  START = = =  with rootel:"+b);var f,g=this.d3_getNchild(b,2),e=g[0],h=e.cloneNode();g=g[1];b=d3.select(b);this.pjA=a;null!=d&&(R=d,L=-1);c.vprint("d3","found child1:"+h.nodeName+
    6 " child2:"+g.nodeName);var p=[];for(d=0;d<a.cfTag.length;d++){var r={};r.cfTag=a.cfTag[d];r.from=h.getAttribute(a.cfTag[d]);r.to=g.getAttribute(a.cfTag[d]);r.vals=d3.quantize(d3.interpolate(r.from,r.to),a.cfSections);var B=null==a.cfEase?d3.easeLinear:d3["ease"+a.cfEase[d]];r.vals=c.zero2one(a.cfSections).map(function(m){return d3.interpolate(r.from,r.to)(B(m))});p.push(r)}e.remove();g.remove();c.vprint("d3","packed up dataA:"+c.dumpvar(p));c.vprint("d3","TEMPLATE:"+h);a=b.selectAll(h.nodeName).data(c.ones(a.cfSections)).enter().append(function(){return h.cloneNode()});
    7 for(f=0;f<p.length;f++)c.vprint("d3","process tag:"+p[f].cfTag+" vals:"+p[f].vals),a.attr(p[f].cfTag,function(m,n){c.vprint("d3","tag:"+p[f].cfTag+" val["+n+"]"+p[f].vals[n]);return p[f].vals[n]})};this.d3limitrange=function(b,a,d){var f=d3.select(b);null!=d&&(R=d,L=-1);c.vprint("d3","d3limitrange SELECT["+b+"] rootel type:"+f.node().nodeName+" transform: have data:"+a);l.limitkula=F.codonSel(a.cfRange,"scale");d=f.selectAll(a.cfSelector);c.vprint("d3","d3limitrange my limited color is:"+l.limitkula+
    8 " apply to selection:"+a.cfSelector+" children:"+d.size());for(b=0;b<a.cfTag.length;b++)c.vprint("d3","process tag:"+a.cfTag[b]+":"),d.style(a.cfTag[b],function(g,e){return l.limitkula})};this.d3colormatch=function(b,a,d){var f=d3.select(b);null!=d&&(R=d,L=-1);d=a.dominate;"currentColor"==d&&(d=c.curcolor);if(d.match(/^grab.*/)){var g=d.replace(/grab/,"");var e=f.attr(g);var h=c.getCstyle(f.node(),g);c.vprint("d3","d3colormatch   S E E D  C O L O R   grab["+g+"].attr found:"+e+" cstyle:"+h);d="#883300";
    9 null!=e&&(d=e);null!=h&&(d=h)}c.vprint("d3","d3colormatch - START - rootel type:"+f.node().nodeName+" transform: have data:"+a+" seedColor:"+d+" scheme:"+a.cfScheme+","+typeof a.cfScheme);if("function"!=typeof l.Color)if(c.vprint("d3","d3colormatch no Color obj!"),"undefined"!=typeof net)l.Color=net.brehaut.Color;else return;h=l.Color(d);null==a.cfScheme||"RANDOMRGB"==a.cfScheme?(c.vprint("d3","d3colormatch ** RGB mode"),e=F.codonSel(la),l.kulaA=h[e]()):null!=a.subordinate?(g=a.subordinate.replace(/grab/,
    10 ""),e=f.attr(g),h=c.getCstyle(f.node(),g),c.vprint("d3","d3colormatch ** S U B O R D I N A T E  C O L O R   grab["+g+"].attr found:"+e+" cstyle:"+h),g="#883300",null!=e&&(g=e),null!=h&&(g=h),c.vprint("d3","d3colormatch seedColor:"+d+" subColor:"+g),l.kulaF=d3.interpolateRgb(d,g)):a.cfScheme&&"string"==typeof a.cfScheme&&a.cfScheme.match(/^interpolate/)?(d=a.cfScheme&&d3[a.cfScheme]?a.cfScheme:G.iterate(ma,null,"random"),c.vprint("d3","d3colormatch ** interpolation function:"+d),l.kulaF=d3[d]):y.isArray(a.cfScheme)?
    11 (e=F.codonSel(a.cfScheme),c.vprint("d3","d3colormatch ** RYB Array mode:"+e+" seedColor:"+d+" CSS:"+h.toCSS()+" have cryb?"+typeof l.cryb),l.kulaA=l.cryb.getAllSymmetries(e,h.toCSS(),"ryb")):(e=F.codonSel(ia),c.vprint("d3","d3colormatch ** RYB Random Array mode:"+ia+"->"+e),l.kulaA=l.cryb.getAllSymmetries(e,d,"ryb"),"complementary"!=e&&"analagous"!=e||l.kulaA.push(d));c.vprint("d3","d3colormatch can choose from colors=======>"+l.kulaA+" stagger?"+a.cfStagger);l.limitkula=F.codonSel(l.kulaA);if("none"!=
    12 a.cfSelector)for(b=d3.select(c.bubbleUp(b,"svg")),f=f.selectAll(a.cfSelector),c.vprint("d3","d3colormatch my limited color is:"+l.limitkula+" apply to selection:"+a.cfSelector+" children found:"+f.size()),0==f.size()&&(f=b.selectAll(a.cfSelector)),l.numkids=f.size(),b=0;b<a.cfTag.length;b++)c.vprint("d3","child["+b+"] tag:"+a.cfTag[b]+": color:"+l.limitkula),"flood-color"==a.cfTag[b]?f.attr(a.cfTag[b],function(p,r){return Z(p,r,a)}):f.style(a.cfTag[b],function(p,r){return Z(p,r,a)});c.vprint("d3",
    13 "d3colormatch done!")};var Z=function(b,a,d){if(null==d.cfStagger)return l.limitkula;if("cycle"==d.cfStagger)return l.kulaA[a%l.kulaA.length];if(null!=d.subordinate||d.cfScheme&&"string"==typeof d.cfScheme&&d.cfScheme.match(/^interpolate/))return b=l.kulaF(2*a/l.numkids),2*a>l.numkids&&(b=l.kulaF((2*l.numkids-2*a)/l.numkids)),b;a=F.getRandPoint(1,[[0,0],[l.kulaA.length-1,20]],d.cfStagger,"uniform");a=parseInt(a[0][0]);return l.kulaA[a]};this.d3voronify=function(b,a,d){var f;var g="0 0 200 200";var e,
    14 h,p,r;c.vprint("d3","voronify START with el.id:"+b.id);var B=d3.select(b);c.vprint("d3","voronify have rootel?"+typeof B);c.vprint("d3","voronify have rootel.node?"+typeof B.node+" fill?"+B.attr("fill"));L=-1;R=d;d=d3.select(c.bubbleUp(b,"svg"));c.vprint("d3","voronify have svg?"+typeof d);var m=d.node().getBBox();d.attr&&d.attr("viewBox")&&(g=d.attr("viewBox"));g=g.split(/ /);c.vprint("d3","voronify  eloop.template box: "+E.viewBoxA+" local bbox?"+typeof m+" local viewBox:"+d.attr("viewBox")+" obj bbox:"+
    15 c.dumpvar(m,"onelevel"));g="standard"==a.target?[[0,0],[1E3,1E3]]:null!=E.viewBoxA&&"template"==a.target?[[E.viewBoxA[0],E.viewBoxA[1]],[E.viewBoxA[2],E.viewBoxA[3]]]:0<m.width?[[c.d0(m.x),c.d0(m.y)],[c.d0(m.width),c.d0(m.height)]]:[[g[0],g[1]],[g[2],g[3]]];var n=[[0,0],[g[1][0]-1,g[1][1]-1]],k=[[0,0],[g[1][0]+1,g[1][1]+1]],u=d3.scaleLinear().domain([0,c.d0(m.width-1)]).rangeRound([0,255]).clamp(!0),M=d3.scaleLinear().domain([0,c.d0(m.width-1)]).rangeRound([0,255]).clamp(!0);c.vprint("d3","voronify d3 extentA:"+
    16 c.dumpvar(n,"onelevel")+" extentB:"+c.dumpvar(k,"onelevel"));n=F.getRandPoint(F.codonSel(a.num),n,a.xpat,a.ypat);c.startTimer();c.vprint("util","voronify d3 rand points time:"+c.getTimer()+" num sites:"+n.length);m="pattern_"+c.alphanumA[Math.floor(36*Math.random())]+c.alphanumA[Math.floor(36*Math.random())]+c.alphanumA[Math.floor(36*Math.random())]+"_1_";null!=a.colorO&&null!=a.colorO.cfFunc&&(c.vprint("d3","voronify d3 -START- using color func:"+a.colorO.cfFunc),l[a.colorO.cfFunc](b,a.colorO),c.vprint("d3",
    17 "voronify d3 -END-  using color func:"+a.colorO.cfFunc));b=d3.voronoi().extent(k);c.vprint("d3","voronify d3 GERNERATE time:"+c.getTimer());var z=[],I="fill";y.isArray(a.shape)&&(a.shape=F.codonSel(a.shape));null!=a.shrink&&(a.shrink=F.codonSelJSON(a.shrink),"lines"!=a.shape&&"oneline"!=a.shape&&"triangles"!=a.shape||null==a.shrink.thinthreshold||delete a.shrink.thinthreshold);"lines"==a.shape||"oneline"==a.shape?(I="stroke",b=b.links(n)):b="triangles"==a.shape?b.triangles(n):b.polygons(n);c.vprint("d3",
    18 "voronify making pattern with num points:"+b.length+" have svg el?"+d);g=d.select("defs").append("pattern").attr("id",m).attr("x",g[0][0]).attr("y",g[0][1]).attr("width",g[1][0]).attr("height",g[1][1]).attr("patternUnits","userSpaceOnUse").attr("patternTransform","scale(1)");null!=a.cfApplyClass&&g.attr("class",a.cfApplyClass);g.selectAll("path").data(b).enter().append("path").attr(I,function(v,N){return null==v||null==v.length&&null==v.source?(c.vprint("d3^2","BAD d at index["+N+"]"+c.dumpvar(v,
    19 "onelevel")),""):null!=a.colorO?(e=null==v.source?v[0][0]:c.d0(v.source[0]),h=null==v.source?v[0][1]:c.d0(v.source[1]),f="#34F","solid"==a.colorO.scheme&&null!=a.colorO.hex?f=a.colorO.hex:"monochrome"==a.colorO.scheme?f="rgb(0, 0, "+u(e)+")":"inerpolateColor"==a.colorO.scheme?f=d3[a.colorO.schemeParam](u(h)/255):"random"==a.colorO.scheme?f="rgb("+(h+e)%255+", "+u(e)+", "+M(h)+")":null!=a.colorO.cfFunc?f=Z(v,N,a.colorO):c.vprint("d3","no color to set! had colorO but no scheme"),c.vprint("d3^2","setting "+
    20 I+":"+f),f):""}).attr("d",function(v,N){if(null==v||null==v.length&&null==v.source)return"";if(null!=v.source)return e=c.dd(v.source[0]),h=c.dd(v.source[1]),p=c.dd(v.target[0]),r=c.dd(v.target[1]),z.push("M",e,h,p,r),"M"+e+","+h+" "+p+","+r;var q=G.vA2O(v);q=null!=a.shrink?F.vM2Q(q,a.shrink):G.vMstr(q);c.vprint("d3^2","d["+N+"]:numpoints:"+v.length+": Cstr:"+q);return q});0<z.length&&"oneline"==a.shape&&(b=d.select("g"),c.vprint("d3","voronify had allPoints:"+z.length+" have g element?"+b),g=z.join(),
    21 g=g.replace(/,?M,/g," M"),k=null==f?"":" stroke='"+f+"'",b.node().innerHTML="<path "+k+"  d='"+g+"' />");c.vprint("util","voronify d3 MODIFY time:"+c.getTimer());B.attr("fill","url(#"+m+")");E.isBlocks&&d.append("rect").attr("x",0).attr("y",0).attr("width","100%").attr("height","100%").attr("fill","url(#"+m+")")};this.d3transform=function(b,a,d){c.vprint("d3","d3transform  = = =  START = = =  with rootel:"+b);b=d3.select(b);L=-1;c.vprint("d3","have codondex:"+L+" codon array:"+d);var f=this.codonSel(a.cfSections);
    22 var g=na(a,f);d=null!=a.cfData?a.cfData:c.ones(f);c.vprint("d3","my data array:"+d);var e=b.node().firstChild;for(c.vprint("d3","num first child:"+e.nodeName+","+e+" nextSibling:"+e.nextSibling.nodeName);("#text"==e.nodeName||"#comment"==e.nodeName)&&null!=e.nextSibling;)e=e.nextSibling;c.vprint("d3","look for tag:"+e.nodeName);c.vprint("d3","rendering with cfSections:"+f+" cfTag:"+a.cfTag+" cfWrap:"+a.cfWrap+" incA:"+g+":");this.incA=g;this.jA=a;y.isArray(a.cfTag)||(a.cfTag=[a.cfTag]);y.isArray(a.cfWrap)||
    23 (a.cfWrap=[a.cfWrap]);d=b.selectAll(e.nodeName).data(c.ones(f)).enter().append(function(){return e.cloneNode()});for(b=0;b<a.cfTag.length;b++)this.wrap=a.cfWrap[b],this.contA=this.wrap.match(/CONTENT[0-9]+_/g),c.vprint("d3","process tag:"+a.cfTag[b]+" wrap:"+this.wrap+" numtags:"+this.contA),d.attr(a.cfTag[b],oa.bind(this))};this.divEffect=function(b){var a=b.getAttribute("data-div");var d=b.getAttribute("data-aa");c.vprint("d3","divEffect: - - - - - - - - - -  - - - - - - - - - -arg:"+typeof b+"  have data?"+
    24 typeof genolve_gen_sel_hash+" key:"+d+" "+a);if(a.match(/(decoration|text|flair)/)){var f=parseFloat(b.getAttribute("data-dur"));b=parseFloat(b.getAttribute("data-pause"));c.vprint("d3","divEffect: - - - - - - - - - -  - - - - - - - - ani dur:"+f+" pause:"+b);var g="falling-snow-"+a;var e=y("#"+g);1<=e.length?c.vprint("eloop","divEffect: - - - - - - - - - -  - - - - - - - - div already there!"+g):(y("body").prepend('<div id="'+g+'" class="gnlv-falling"/>'),e=y("#"+g),a=d3.select("#"+d+" #"+a).node().innerHTML,
    25 a=a.replace("opacity: 0","opacity: 1"),c.vprint("d3","divEffect: - - - - - - - - - -  - - - - - - - - svg:"+a),a='<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg width="100%" height="100%"  preserveAspectRatio="xMinYMin slice" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:html="http://www.w3.org/1999/xhtml"><desc>evolved at www.genolve.com</desc>CONTENT</svg>'.replace(/CONTENT/,a),d="data:image/svg+xml;utf8,"+encodeURIComponent(a),d="data:image/svg+xml;base64,"+
    26 btoa(a),e.css({"background-image":"url( '"+d+"')"}),e.css({opacity:0,animation:"gnlv-opacity-fadein  linear  "+f+"s forwards"}),document.fallingtimeout1=window.setTimeout(function(){y("#"+g).css({opacity:1,animation:"gnlv-opacity-fade  linear  "+f+"s forwards"})},1E3*(f+b)),document.fallingtimeout2=window.setTimeout(function(){y("#"+g).remove()},1E3*(2*f+b)))}else"undefined"!=typeof genolve_gen_sel_hash&&genolve_gen_sel_hash[a]?(c.vprint("d3","divEffect: data:"+c.dumpvar(genolve_gen_sel_hash[a])),
    27 genolve_divEffect(a,c,y)):c.vprint("warn","divEffect: genolve_gen_sel_hash had no data for:"+a)};this.d3confetti=function(b,a,d,f,g,e,h){var p=0,r=0,B,m=e.match(/(burst-selfzoomInOut)/)?9:e.match(/(sprinkle)/)?20:30;var n=0;var k=b.getAttribute("lastcall");var u=b.getAttribute("dur");var M=b.getAttribute("utarg"),z=b.getAttribute("sizehint");f=parseInt(f);if(0<f)if(null==k&&"repeat"==h){if(h=E.anielapsed()-parseFloat(b.getAttribute("begin")),0>h&&(h+=parseFloat(u)),b.setAttribute("lastcall",Date.now()-
    28 1E3*h),c.vprint("d3","d3confetti first call ignore, start delta:"+h+" firefox:"+c.getBrowser("isfirefox")),c.getBrowser("isfirefox"))return}else if("begin"==h)c.vprint("d3","d3confetti 1st begin OK");else{if(Date.now()-k<1E3*(parseFloat(u)-.5)){c.vprint("d3^2","d3confetti anirepeat ignore delta:"+(Date.now()-k)+" < "+1E3*(parseFloat(u)-.5));return}c.vprint("d3","d3confetti trigger:"+b.id+"  delta:"+(Date.now()-k)+" event:"+h);b.setAttribute("lastcall",Date.now())}k=b.getAttribute("lastcall");var I=
    29 l.mulberry32(parseFloat(k));u=d3.select(a);if(null==u||null==u.size||1!=u.size())c.vprint("warn","confetti X X X X found none or more than one of place targ:"+a);else if(e.match(/(sprinkle)/)){var v=b.getAttribute("vx");var N=b.getAttribute("vy");c.vprint("d3","d3confetti sprinkle tw/th:"+E.tw+","+E.th+" scaled xy limits:"+v+","+N)}var q=d3.select("#"+d);null!=q&&null!=q.size&&1==q.size()&&null!=q.node||c.vprint("warn","confetti X X X X found none or more than one of targ:"+d+":"+typeof q);var X=
    30 a.match(/(text)/);k=X?"g[id^=tgrp]":"g[id^=B0]";h=q.select(k);e.match(/(corner)/)&&(h=d3.select("#"+M));if(null==h||null==h.size||1!=h.size()||null==h.node)c.vprint("warn","confetti X X X X found none or more than one of:usetargid:"+M+" OR selector:"+k+" place:"+a+" from :"+q.attr("id")),e.match(/(self)/)||(h=q),c.vprint("warn","usetarg alternate:"+(h.size?h.size():"nada"));else{var S=[];n=e.match(/(sprite)/)?q:h;n=n.selectAll(".gnlv-sprite");n.each(function(A){S.push(d3.select(this))});e.match(/(sprite)/)||
    31 n.classed("gnlv-gone",!1);n=n.size();0<n&&c.vprint("d3","confetti: is a sprite? found:"+n)}var t=q.node().getBBox();k=[[c.d0(t.x),c.d0(t.y)],[c.d0(t.width),c.d0(t.height)]];var aa=2*Math.max(t.width,t.height);var pa=a.match(/(text)/)?100:50;var C=c.dd(Math.abs(g)/15);C=e.match(/(burst-selfzoom)/)?1:C;var qa=Math.floor(90*Math.random()-45),O=1;if(e.match(/(tile)/)){q=d3.select("#"+M);q=q.node().getBBox();if("object"!=typeof q||0==q.width)q={x:0,y:0,width:200,height:200};z&&(O=parseFloat(z)/(X?5:20));
    32 m=parseInt(t.width/(O*q.width)*t.height/(O*q.height)+.5);c.vprint("d3","confetti: TILE TILE "+M+" tilesizer:"+z+"->"+O+" targetsize:"+t.x+","+t.y+","+t.width+","+t.height+" size:"+q.width+","+q.height+" object size:"+t.width+","+t.height+" NUM:"+m);0==t.width?(z=b.getAttribute("tbox"),null!=z?t=c.parsejson(z):c.vprint("warn","confetti: box width zero and no saved data!")):b.setAttribute("tbox",JSON.stringify(t).replace(/"/g,"'"));var D=a.match(/(text)/)?y.extend({},t):{x:0,y:0,width:200,height:200};
    33 m=parseInt(D.width/(O*q.width)*D.height/(O*q.height)+.5);D.cx=D.x+D.width/2;D.cy=D.y+D.height/2;p=D.x;r=D.y}z="interpolateCool";t="interpolateWarm";if(e.match(/(burst-selfzoomInOut|sprinkle|sprite|tile)/)){z="interpolateRainbow";t="interpolateViridis";var H=parseFloat(b.getAttribute("ppp"));var J=parseFloat(b.getAttribute("ddd"))}var ba=d3[z],ja=d3[t];if(e.match(/(sprite)/)&&0<S.length)0<f?(ea(S,1),window.setTimeout(E.tpr.d3confetti,1E3*(J+H-1.1),b,a,d,-f,g,e)):(c.vprint("d3","confetti:  SPRITE X deactivate X"),
    34 ea(S,0));else if(0<f){u.select("#confetti"+d).remove();q=d3.select("#"+d);t=q.node().getBBox();H=a.match(/(text)/)?t.x+t.width/2:t.width/2;var T=t.height/2;10!=Math.abs(g)&&3!=Math.abs(g)||!e.match(/(burst-self|tile|corner)/)?a.match(/(text)/)&&(H=e.match(/(burst-selfzoom|tile)/)?0:H/2,T=e.match(/(burst-selfzoom|tile)/)?0:T/2):T=H=0;z="translate("+H+","+T+")";X="";d.match(/tel[0-9]+_/)&&(X+=" "+u.select("g[id^=tgrp]").attr("class"),h=q,q=parseFloat(d.split("_")[1]),T=e.match(/(burst-self|corner)/)?
    35 (q-1)*t.height*C:(q-1)*t.height,z=e.match(/(burst-selfzoom|tile)/)?z:"translate("+H+","+T+")");c.vprint("d3","confetti: making it, toggle:"+f+" under:"+a+" id:"+u.attr("id")+" svg:bbox:"+k+"  scale:"+C+" gtrans:"+z);H=u.append("g").attr("id","confetti"+d).attr("transform",z).attr("class",e+X);e.match(/(InOut)/)&&(k=document.createElement("style"),k.type="text/css",J=document.createTextNode(".gnlv-btime use { --bdur:"+J+"s; }"),k.appendChild(J),H.node().appendChild(k));var ca=H.append("g").attr("id",
    36 "confettig").attr("class","gnlv-btime").attr("style","transform:translate(0px,0px)");if(e.match(/(burst-self|corner)/)){1<u.size()&&alert("size for place too big:"+u.size());var Q=[];J=0==n?h.attr("id"):S[0].attr("id");ca.selectAll("use").data(d3.range(m)).enter().append("use").attr("xlink:href","#"+J).attr("style",function(A,w){var x;var Y=e.match(/(burst-selfzoom)/)?ba(w/m):W(6);var da=e.match(/(burst-selfzoom)/)?ja(w/m):W(6);var U=x=100;A=0;if(e.match(/(collapse)/)){x=c.ddd(Math.random()*Math.PI*
    37 2);Q.push(x);A=c.d0(180*x/Math.PI+90);var K=0+aa;U=e.match(/(burst-selfzoom)/)?100:100+K*Math.cos(x);x=e.match(/(burst-selfzoom)/)?100:100+K*Math.sin(x);C=a.match(/(text)/)?3:.7}else e.match(/(sprinkle)/)?(x=c.ddd(Math.random()*Math.PI*2),Q.push(x),A=0,U=parseFloat(v)*I()-v/2,x=parseFloat(N)*I()-N/2,C=0):e.match(/(tile)/)&&(x=c.ddd(Math.atan2(r-D.cy,p-D.cx)),Q.push(x),A=0,x=U=100,B="mask_"+w,ca.append("mask").attr("id",B).append("use").attr("xlink:href","#"+M).attr("fill","#FFFFFF").attr("transform",
    38 "translate("+p+","+r+") scale("+O+")"),p+=200*O,p>=D.x+D.width&&(p=D.x,r+=200*O,r>=D.y+D.height&&c.vprint("d3","confetti["+w+"]:  y:"+r+" past bound:"+(D.y+D.height)+" delta:"+200*O)),C=1);w=e.match(/(burst-selfzoom|sprinkle|tile)/)?";transition-delay:"+c.dd(1-w/m)+"s;":"";e.match(/(tile)/)&&(w+=";mask:url('#"+B+"');");return"transform:translate("+U+"px,"+x+"px) rotate("+A+"deg) scale("+C+") translate(-100px,-100px);opacity:1;fill:"+Y+"; stroke:"+da+w});b.setAttribute("ang",Q.join())}else ca.selectAll("path").data(d3.range(m)).enter().append("path").attr("d",
    39 function(A,w){var x;"burst-triangle"==e||"burst-confetti"==e?x="M 0,0 60,0 30,40z":"burst-stars"==e?x="M47-9.4L19.4,11.5l8.9,33.5L-0.1,25.1l-29.1,18.8l10.1-33.1L-46-11l34.6-0.7L1.1-44l11.3,32.7L47-9.4   L19.4,11.5":"burst-bubbles"==e?x="M25,0.8c0,6.6-2.6,12.5-6.9,17C13.5,22.5,7.9,25,1.1,25c-7.8,0-13.5-3.8-17.1-7.1c-4.2-3.9-7-11-7-17.1\t\tc-0.1-5.4,2.1-12.1,7-16.8c4.9-4.7,10.5-7,17-7c7.7,0,13.3,3.1,17,7C22.3-11.4,25-5.8,25,0.8c0,6.6-2.6,12.5-6.9,17":console.warn("3rdparty.raindrop has no option to make:"+
    40 e);return x}).attr("style",function(A,w){A="burst-bubbles"==e?ba(w/m):W(6);return"transform:translate(0px,0px) scale("+C+");opacity:1;fill:"+A});window.setTimeout(E.tpr.d3confetti,100,b,a,d,-f,g,e)}else z=e.match(/(burst-self|corner)/)?"use":"path",c.vprint("d3","confetti: animate it, toggle:"+f+" target:"+d+": found?"+u.select("#confetti"+d).size()+" selecting:"+z),-3==f&&e.match(/(burst-selfzoomInOut)/)?(c.vprint("d3","confetti remove confetti hack!"),u.select("#confetti"+d).remove()):-2==f&&e.match(/(burst-selftile)/)?
    41 (k=u.select("#defs"+d),1==k.size()&&(b=k.node().parentNode,c.vprint("d3","d3confetti UNDO defs hide, parent:"+b.getAttribute("id")),d=k.select("#defs"+d+">g"),1==d.size()?b.appendChild(d.node()):c.vprint("warn","d3confetti UNDO defs num <g> found other than 1:"+d.size()))):(e.match(/(burst-selfzoom|tile)/)&&(k=u.select("#defs"+d),0==k.size()&&(c.vprint("d3","confetti: create defs wrap"),t=document.createElementNS("http://www.w3.org/2000/svg","defs"),t.setAttribute("id","defs"+d),(q=h.node().parentElement)?
    42 (q.appendChild(t),k=u.select("#defs"+d)):c.vprint("d3","confetti: utarg parent null")),k.node().appendChild(h.node())),h=u.select("#confetti"+d),h=h.selectAll("g").attr("style",function(A,w){A=0;"burst-bubbles"==e&&(A=-600*C,aa/=2);return"transform:translate(0px,"+A+"px)"}),h=u.selectAll("#confetti"+d+" g>"+z),e.match(/(collapse|tile)/)&&(u=b.getAttribute("ang"),Q=u.split(/,/).map(Number),I=l.mulberry32(Q[0])),h.attr("style",function(A,w){var x=0,Y=0;var da=e.match(/(burst-selfzoom|burst-bubbles)/)?
    43 ja(w/m):W(6);var U=e.match(/(burst-selfzoom|burst-bubbles)/)?ba(w/m):W(6);A=e.match(/(burst-selfzoom)/)?qa:c.d0(360*Math.random()-180);var K=c.ddd(Math.random()*Math.PI*2);var P=Math.random()*aa;var V=0;e.match(/(collapse)/)?(K=Q[w],A=c.d0(180*K/Math.PI+90),P=I()*pa,Y=25*I()-12.5,V=-2==f?0:1,x=100,C=a.match(/(text)/)?1:.1):e.match(/(tile)/)&&(C=w<.25*m||w>.75*m?1.5+Math.random():.1+Math.random(),K=Q[w],V=A=P=0,x=100);var ka=e.match(/(burst-selfzoom)/)?100:x+Y+P*Math.cos(K);K=e.match(/(burst-selfzoom)/)?
    44 100:x+Y+P*Math.sin(K);e.match(/(burst-selfzoomInOut)/)&&-1==f?(C=14,V=1):e.match(/(burst-selfzoomInOut)/)&&-2==f?V=C=1:C=e.match(/(burst-selfzoom)/)?c.dd(10*w/m):C;e.match(/(sprinkle)/)&&(A=0,ka=parseFloat(v)*I()-v/2,K=parseFloat(N)*I()-N/2,C=5>w?3.5+Math.random():.3+Math.random(),-2==f&&(C=.1),V=-2==f?0:1);P=e.match(/(burst-self|corner|sprinkle|tile)/)?"translate(-100px,-100px)":"";P+=e.match(/(burst-selfzoom|corner|tile)/)?";transition-delay:"+(-1==f?c.dd(1-w/m):c.dd(w/m))+"s":"";P+=e.match(/(sprinkle)/)?
    45 ";transition-delay:"+(-1==f?c.dd(w/m):c.dd(1-w/m))+"s":"";P+=e.match(/(tile)/)?";mask:url('#mask_"+w+"')":"";return"transform:translate("+ka+"px,"+K+"px) rotate("+A+"deg) scale("+C+") "+P+";opacity:"+V+";fill:"+da+"; stroke:"+U}),e.match(/(collapse)/)&&0<n&&(c.vprint("d3","confetti s s s s s s s s s s s s s s s s s s s s s s s s s s s sprites found:"+n),h.on("transitionend",function(A,w){d3.select(this).attr("href","#"+S[1].attr("id"))})),-3<f&&e.match(/(burst-selfzoomInOut|sprinkle)/)&&(c.vprint("d3",
    46 "confetti: que - = 3rd toggle = - , reverse"+f),-1==f?window.setTimeout(E.tpr.d3confetti,1E3*(J+H-1.1),b,a,d,f-1,g,e):window.setTimeout(E.tpr.d3confetti,3500,b,a,d,f-1,g,e)),-2<f&&e.match(/(collapse|tile)/)&&(J=e.match(/(collapse)/)?2.2:J+H,c.vprint("d3","confetti: - = 2nd toggle = -, delay:"+J+" opacity"+f),window.setTimeout(E.tpr.d3confetti,1E3*J,b,a,d,f-1,g,e)))};var oa=function(b,a){var d,f=this.wrap;for(d=0;d<this.contA.length;d++){var g=c.d0(this.contA[d])-1;var e=null==this.jA.cfCalc?"+":this.jA.cfCalc[g];
    47 c.vprint("d3","d3Attr_templateEngine i["+a+"] d["+b+"] nn["+d+"] wrap:"+this.contA[d]+" inc["+g+"]="+this.incA[g]+" calc:"+e);"*"==e?(f=f.replace(this.contA[d],this.jA.cfFrom[g]),this.jA.cfFrom[g]*=this.incA[g]):f=f.replace(this.contA[d],this.jA.cfFrom[g]+a*this.incA[g])}return f};this.codonSelJSON=function(b){for(var a in b)y.isArray(b[a])&&(b[a]=F.codonSel(b[a]));return b};this.setCodonA=function(b){R=b};this.codonSel=function(b,a){if(("scale"==a||"normal"==a||null==a)&&!y.isArray(b))return c.vprint("d3",
    48 "codonSel, have NORMAL mode but not passed a array!"+b),b;L=c.setVal(L,1,0,R.length-1,c.setValMode.LOOP);var d=parseInt(R[L]);"scale"==a?b=d3.scaleLinear().domain([0,200]).range(b).clamp(!0)(d):"func"==a?("function"!=typeof b&&c.vprint("d3","codonSel, have function mode but not passed a function!"+b),b=b(parseFloat(d)/200)):b=b[d%b.length];c.vprint("d3","codonSel codonA["+L+"]="+d+" selects   = =>    "+b);return b};this.d3_getNchild=function(b,a){var d=[];b=b.firstChild;for(c.vprint("d3","d3_getNchild first child:"+
    49 b.nodeName+","+b+" nextSibling:"+b.nextSibling.nodeName);null!=b.nextSibling&&0<a;)"#text"==b.nodeName||"#comment"==b.nodeName?b=b.nextSibling:(d.push(b),b=b.nextSibling,a--);return d};this.getRandPoint=function(b,a,d,f,g,e){var h=[],p=c.d0(a[0][0]),r=c.d0(a[0][1]),B=c.d0(a[1][0]),m=c.d0(a[1][1]);d3.scaleLinear().domain([p,p+B]).range([p,p+B]).ticks(7);"VRANDOM"==d&&(d=F.codonSel(ha));"VRANDOM"==f&&(f=F.codonSel(ha));"RANDOM"==d&&(d=F.codonSel(fa));"RANDOM"==f&&(f=F.codonSel(fa));for(a=0;a<b;a++){var n=
    50 Math.random();var k=Math.random();var u=.5+.1*Math.sin(2*k*Math.PI);var M=.5+.1*Math.sin(2*n*Math.PI);"uniform"!=d&&("bigEdge"==d?n=n>u?d3.easeQuadIn(n):d3.easeQuadOut(n):"bigMiddle"==d?n=n<u?d3.easeQuadIn(n):d3.easeQuadOut(n):"bands"==d?n=15*Math.round(n*B/15)/B:(null==d3[d]&&(c.vprint("warn","getRandPoint did not find ease:"+d+" selecting: easeLinear"),d="easeLinear"),n=d3[d](n)));"uniform"!=f&&("bigEdge"==f?k=k>M?d3.easeQuadIn(k):d3.easeQuadOut(k):"bigMiddle"==f?k=k<M?d3.easeQuadIn(k):d3.easeQuadOut(k):
    51 "bands"==f?k=15*Math.round(k*m/15)/m:(null==d3[f]&&c.vprint("warn","getRandPoint did not find ease:"+f),k=d3[f](k)));k=[c.d0(n*B+p),c.d0(k*m+r)];null!=g&&k.push(c.dd(c.setVal(0,0,g[0],g[1],c.setValMode.RANDOM)));null!=e&&k.push(c.dd(c.setVal(0,0,e[0],e[1],c.setValMode.RANDOM)));h.push(k)}return h};var na=function(b,a){var d,f=[];1>a&&console.error("doFromToBy sections must be 1 or more");y.isArray(b.cfFrom)||(b.cfFrom=[b.cfFrom]);if(null!=b.cfTo)for(y.isArray(b.cfTo)||(b.cfTo=[b.cfTo]),b.cfTo.length!=
    52 b.cfFrom.length&&console.warn("doFromToBy: size From != To: "+b.cfFrom.length+"!="+b.cfTo.length),d=0;d<b.cfTo.length;d++){var g=(b.cfTo[d]-b.cfFrom[d])/(a-1);c.vprint("d3","doFromToBy["+d+"] sections:"+a+":"+g);f[d]=g}null!=b.cfInc&&(y.isArray(b.cfInc)||(b.cfInc=[b.cfInc]),b.cfInc.length!=b.cfFrom.length&&console.warn("doFromToBy: size From != cfInc: "+b.cfFrom.length+"!="+b.cfInc.length),f=b.cfInc);return f};this.vM2Q=function(b,a){var d,f,g=[];if(null!=a.thinthreshold&&(b=G.vthinpoints(b,a.thinthreshold),
    53 3>b.length))return"";var e=G.vcentroid(b);var h=a.shrinkamount;for(d=0;d<b.length;d++){var p="centroid"==a.shrinkmode?G.vwave(b[d],h,e,1):"fixed"==a.shrinkmode?G.vmovetoward(b[d],e,h):b[d];g.push(p);0==d&&(f=p);if(d<b.length-1){p=G.vave(b[d],b[d+1]);var r=G.vmag(G.vsub(b[d],b[d+1]))}else p=G.vave(b[d],b[0]),r=G.vmag(G.vsub(b[d],b[0]));var B=1-Math.pow(.3*r/Math.abs(h),1.1);r=-2>B?-2*h:B*h;c.vprint("util^2","vM2Q factor:"+B+" delta2:"+r);"fixed"==a.shrinkmode?g.push(G.vmovetoward(p,e,r)):g.push(p)}g.push(f);
    54 0==g.length%2&&c.vprint("util","vM2Q POINTS missmatch EVEN need ODD");if("points"==a.retmode)return g;b="M"+g[0].cx+","+g[0].cy+" Q";for(d=1;d<g.length;d++)b+=g[d].cx+","+g[d].cy+" ";return b+" Z"}};
     1function GNLV_3RDPARTY(d,K,B){function Z(a){for(var b=0,c="",e="0123456789abcdef".split("");b<a;)c+=e[Math.floor(Math.random()*16)],b++;return"#"+c}function ia(a,b){if(b<a.length)for(var c=0;c<a.length;c++){var e=a[c].attr("class");d.vprint("d3","confetti:  SPRITE ["+c+"] current:"+e);c==b?a[c].classed("gnlv-gone",!1):a[c].classed("gnlv-gone",!0)}else console.warn("3rdparty.classAct sprite"+b+" past num:"+a.length)}var t=this,D=this,R=-1,V=[42,43],ja="easeLinear,easeQuad,easeQuadIn,easeQuadOut,easeCubic,easeCubicIn,easeCubicOut,easeSin,easeSinIn,easeSinOut,easeExp,easeExpIn,easeExpOut,easeCircle,easeCircleIn,easeCircleOut".split(/,/),
     2ka=["uniform","bands","bigMiddle","bigEdge","RANDOM"],la="complementary splitcomplementary analagous triadic tetradic monochromatic".split(" "),oa="complementaryScheme,splitComplementaryScheme,splitComplementaryCWScheme,splitComplementaryCCWScheme,triadicScheme,clashScheme,tetradicScheme,fourToneCWScheme,fourToneCCWScheme,fiveToneAScheme,fiveToneBScheme,fiveToneCScheme,fiveToneDScheme,fiveToneEScheme,sixToneCWScheme,sixToneCCWScheme,neutralScheme,analogousScheme".split(/,/),pa="interpolateMagma,interpolateViridis,interpolateInferno,interpolatePlasma,interpolateWarm,interpolateCool,interpolateRainbow,interpolateCubehelixDefault".split(/,/);
     3this.apidiv=this.imgkey="notset";this.apidivA={};this.Color=this.cryb="notset";this.kulaA;this.pjA;this.limitkula;this.setValMode=Object.freeze({LOOP:"LOOP",LIMIT:"LIMIT",RANDOM:"RANDOM"});B==null&&(B=jQuery);d.vprint("d3","3 3 3 3 3 3 3 3 3 3 3 3  INIT 3rd party scripts  have d3?"+typeof d3+" have Color?"+typeof net+" have ColorRYB?"+typeof ColorRYB+"3 3 3 3 3 3 3 3 3 3 3 3 eloop:"+typeof document.eloop);var y=document.eloop,F={},ca=15;typeof net=="undefined"||typeof ColorRYB=="undefined"?(d.vprint("d3",
     4"3 3 3 3 3 3 3 3 3 3 3 3  INIT dynamic load color.js scripts   3 3 3 3 3 3 3 3 3 3 3 3 from:"+y.actionhost),B.getScript(y.actionhost+"/js/color-js/color.js",function(){t.Color=net.brehaut.Color;t.cryb=new ColorRYB(d,B);d.vprint("d3","3 3 3 3 3 3 3 3 3 3 3 3 DONE INIT dynamic load color scripts DONE  3 3 3 3 3 3 3 3 3 3 3 3 had net.Color?"+typeof net+" cryb?"+typeof ColorRYB)})):(t.Color=net.brehaut.Color,t.cryb=new ColorRYB(d,B),d.vprint("d3","3 3 3 3 3 3 3 3 3 3 3 3  INIT normal load color scripts DONE  3 3 3 3 3 3 3 3 3 3 3 3"));
     5typeof d3=="undefined"&&B.getScript(y.actionhost+"/js/d3/d3.min.js",function(){d.vprint("d3","3 3 3 3 3 3 3 3 3 3 3 3  d3 loaded DONE  3 3 3 3 3 3 3 3 3 3 3 3")});this.mulberry32=function(a){return function(){var b=a+=1831565813;b=Math.imul(b^b>>>15,b|1);b^=b+Math.imul(b^b>>>7,b|61);return((b^b>>>14)>>>0)/4294967296}};this.autoWrapIt=function(a,b,c,e,g){a==null&&(a=y.activeslot);var f=[],h=RegExp("\\[font\\d\\]","ig"),q=[],m,z,n=0,k,l,u=0,L="tel"+Math.floor(Math.random()*1E3)+"_",x=[];if(b)for(d.vprint("text",
     6"autoWrapIt found num font tags:"+b.length),m=0;m<b.length;m++)q[m]=!1,f.push(new RegExp("\\[font"+(m+1)+"\\]","i")),x.push("<tspan "+d.dumpvar(b[m],"css")+">");u=0;var I=function(N){if(b)for(m=0;m<b.length;m++)for(;N.match(f[m]);)q[m]=!q[m],zhtm=q[m]?x[m]:"</tspan>",N=N.replace(f[m],zhtm);return N},v=function(N){var aa="";if(b)for(m=0;m<b.length;m++)N=="close"?aa+=q[m]?"</tspan>":"":N=="open"?aa+=q[m]?x[m]:"":console.warn("autoWrapIt:getOpenClose bad arg:"+N);return aa};g.match(/&lt;br&gt;&lt;br&gt;/)&&
     7(g=g.replace(/&lt;br&gt;/ig," &lt;br&gt;"));c=="blockit"&&(g=g.toUpperCase(),g=g.replace(/&LT;BR&GT;/ig,"&lt;br&gt;"));var M=g.split(" ");var r=l=k="";y.slot[a]||(y.slot[a]={});for(z=y.slot[a].hadAwrap=0;z<M.length;z++){var E=M[z];var J=E=="&lt;br&gt;"?["",""]:E.split(/&lt;br&gt;/);J.length>2&&console.warn("autoWrapIt:shit break split num over2:"+J.length);if(String(k+E.replace(h,"")).length>e||J.length>1){y.slot[a].hadAwrap++;n=y.slot[a].hadAwrap;if(J.length>1){for(d.vprint("text","autoWrapIt start BREAKS loop breakA:"+
     8J);J.length>1;){var p=J.shift();l+=I(p);k+=p.replace(h,"");p=c=="blockit"?D.calcFS(e,k):58;u+=p;k.match(/^\s*$/)||(r+='<text id="DENT" class="gnlvani" FONTSIZE x="0" dy="DDYY">CONTENT</text>'.replace("DDYY",u+"").replace("FONTSIZE",'style="font-size:'+p+'px"').replace("CONTENT",l).replace("DENT",L+n));E=k=l="";n++}E=J.shift()}else{d.vprint("text","autoWrapIt WRAP up buf:"+k+": nextWord:"+E+":");if(k==""){l=k=E;E.match(h)&&console.warn("autoWrapIt: missed a font tag on:"+E);continue}k=k.replace(/ $/,
     9"");l=l.replace(/ $/,"")+v("close");p=c=="blockit"?D.calcFS(e,k):58;u+=p;k.match(/^\s*$/)||(r+='<text id="DENT" class="gnlvani" FONTSIZE x="0" dy="DDYY">CONTENT</text>'.replace("DDYY",u+"").replace("FONTSIZE",'style="font-size:'+p+'px"').replace("CONTENT",l).replace("DENT",L+n))}p=v("open");l=p+I(E)+" ";k=E.replace(h,"")+" "}else d.vprint("text","autoWrapIt traverse words buf:"+k+": next:"+E+":"),l+=I(E)+" ",k+=E.replace(h,"")+" "}k.match(/^\s*$/)||(d.vprint("text","autoWrapIt start LAST tspan buf:"+
     10k+":"),k=k.replace(/ $/,""),l=l.replace(/ $/,""),p=c=="blockit"?D.calcFS(e,k):58,n++,r+='<text id="DENT" class="gnlvani" FONTSIZE x="0" dy="DDYY">CONTENT</text>'.replace("DDYY",u+p+"").replace("FONTSIZE",'style="font-size:'+p+'px"').replace("CONTENT",l).replace("DENT",L+n));d.vprint("text","autoWrapIt DONE size:"+M.length+" autowrap:"+e+" ["+g+"]->"+r);return r};this.calcFS=function(a,b,c){var e,g=b.length;if(g<=0)return 58;(e=b.match(/I/g))&&typeof e=="object"&&(g-=e.length*.8);(e=b.match(/J/g))&&
     11typeof e=="object"&&(g-=e.length*.3);(e=b.match(/[ \.]/g))&&typeof e=="object"&&(g-=e.length*.6);(e=b.match(/[MW]/g))&&typeof e=="object"&&(g+=e.length*.45);(e=b.match(/[\-=]/g))&&typeof e=="object"&&(g+=e.length*.75);(e=b.match(/[\u{1f300}-\u{1f5ff}\u{1f900}-\u{1f9ff}\u{1f600}-\u{1f64f}\u{1f680}-\u{1f6ff}\u{2600}-\u{26ff}\u{2700}-\u{27bf}\u{1f1e6}-\u{1f1ff}\u{1f191}-\u{1f251}\u{1f004}\u{1f0cf}\u{1f170}-\u{1f171}\u{1f17e}-\u{1f17f}\u{1f18e}\u{3030}\u{2b50}\u{2b55}\u{2934}-\u{2935}\u{2b05}-\u{2b07}\u{2b1b}-\u{2b1c}\u{3297}\u{3299}\u{303d}\u{00a9}\u{00ae}\u{2122}\u{23f3}\u{24c2}\u{23e9}-\u{23ef}\u{25b6}\u{23f8}-\u{23fa}]/ug))&&
     12typeof e=="object"&&(g+=e.length*.75);a=parseInt(a?a:20);b.match(/^\s+$/)&&(g=a);a=parseInt(a/g*58);d.vprint("text","calcFS inlen:"+b.length+"->adjust:"+g+"->"+a+":"+b+":");return c?g:a};this.d3interpolate=function(a,b,c){d.vprint("d3","d3interpolate  = = =  START = = =  with rootel:"+a);var e,g=this.d3_getNchild(a,2),f=g[0],h=f.cloneNode();g=g[1];a=d3.select(a);this.pjA=b;c!=null&&(V=c,R=-1);d.vprint("d3","found child1:"+h.nodeName+" child2:"+g.nodeName);var q=[];for(c=0;c<b.cfTag.length;c++){var m=
     13{};m.cfTag=b.cfTag[c];m.from=h.getAttribute(b.cfTag[c]);m.to=g.getAttribute(b.cfTag[c]);m.vals=d3.quantize(d3.interpolate(m.from,m.to),b.cfSections);var z=b.cfEase==null?d3.easeLinear:d3["ease"+b.cfEase[c]];m.vals=d.zero2one(b.cfSections).map(function(n){return d3.interpolate(m.from,m.to)(z(n))});q.push(m)}f.remove();g.remove();d.vprint("d3","packed up dataA:"+d.dumpvar(q));d.vprint("d3","TEMPLATE:"+h);b=a.selectAll(h.nodeName).data(d.ones(b.cfSections)).enter().append(function(){return h.cloneNode()});
     14for(e=0;e<q.length;e++)d.vprint("d3","process tag:"+q[e].cfTag+" vals:"+q[e].vals),b.attr(q[e].cfTag,function(n,k){d.vprint("d3","tag:"+q[e].cfTag+" val["+k+"]"+q[e].vals[k]);return q[e].vals[k]})};this.d3limitrange=function(a,b,c){var e=d3.select(a);c!=null&&(V=c,R=-1);d.vprint("d3","d3limitrange SELECT["+a+"] rootel type:"+e.node().nodeName+" transform: have data:"+b);t.limitkula=D.codonSel(b.cfRange,"scale");c=e.selectAll(b.cfSelector);d.vprint("d3","d3limitrange my limited color is:"+t.limitkula+
     15" apply to selection:"+b.cfSelector+" children:"+c.size());for(a=0;a<b.cfTag.length;a++)d.vprint("d3","process tag:"+b.cfTag[a]+":"),c.style(b.cfTag[a],function(g,f){return t.limitkula})};this.d3colormatch=function(a,b,c){var e=d3.select(a);c!=null&&(V=c,R=-1);c=b.dominate;c=="currentColor"&&(c=d.curcolor);if(c.match(/^grab.*/)){var g=c.replace(/grab/,"");var f=e.attr(g);var h=d.getCstyle(e.node(),g);d.vprint("d3","d3colormatch   S E E D  C O L O R   grab["+g+"].attr found:"+f+" cstyle:"+h);c="#883300";
     16f!=null&&(c=f);h!=null&&(c=h)}d.vprint("d3","d3colormatch - START - rootel type:"+e.node().nodeName+" transform: have data:"+b+" seedColor:"+c+" scheme:"+b.cfScheme+","+typeof b.cfScheme);if(typeof t.Color!="function")if(d.vprint("d3","d3colormatch no Color obj!"),typeof net!="undefined")t.Color=net.brehaut.Color;else return;h=t.Color(c);b.cfScheme==null||b.cfScheme=="RANDOMRGB"?(d.vprint("d3","d3colormatch ** RGB mode"),f=D.codonSel(oa),t.kulaA=h[f]()):b.subordinate!=null?(g=b.subordinate.replace(/grab/,
     17""),f=e.attr(g),h=d.getCstyle(e.node(),g),d.vprint("d3","d3colormatch ** S U B O R D I N A T E  C O L O R   grab["+g+"].attr found:"+f+" cstyle:"+h),g="#883300",f!=null&&(g=f),h!=null&&(g=h),d.vprint("d3","d3colormatch seedColor:"+c+" subColor:"+g),t.kulaF=d3.interpolateRgb(c,g)):b.cfScheme&&typeof b.cfScheme=="string"&&b.cfScheme.match(/^interpolate/)?(c=b.cfScheme&&d3[b.cfScheme]?b.cfScheme:K.iterate(pa,null,"random"),d.vprint("d3","d3colormatch ** interpolation function:"+c),t.kulaF=d3[c]):B.isArray(b.cfScheme)?
     18(f=D.codonSel(b.cfScheme),d.vprint("d3","d3colormatch ** RYB Array mode:"+f+" seedColor:"+c+" CSS:"+h.toCSS()+" have cryb?"+typeof t.cryb),t.kulaA=t.cryb.getAllSymmetries(f,h.toCSS(),"ryb")):(f=D.codonSel(la),d.vprint("d3","d3colormatch ** RYB Random Array mode:"+la+"->"+f),t.kulaA=t.cryb.getAllSymmetries(f,c,"ryb"),f!="complementary"&&f!="analagous"||t.kulaA.push(c));d.vprint("d3","d3colormatch can choose from colors=======>"+t.kulaA+" stagger?"+b.cfStagger);t.limitkula=D.codonSel(t.kulaA);if(b.cfSelector!=
     19"none")for(a=d3.select(d.bubbleUp(a,"svg")),e=e.selectAll(b.cfSelector),d.vprint("d3","d3colormatch my limited color is:"+t.limitkula+" apply to selection:"+b.cfSelector+" children found:"+e.size()),e.size()==0&&(e=a.selectAll(b.cfSelector)),t.numkids=e.size(),a=0;a<b.cfTag.length;a++)d.vprint("d3","child["+a+"] tag:"+b.cfTag[a]+": color:"+t.limitkula),b.cfTag[a]=="flood-color"?e.attr(b.cfTag[a],function(q,m){return da(q,m,b)}):e.style(b.cfTag[a],function(q,m){return da(q,m,b)});d.vprint("d3","d3colormatch done!")};
     20var da=function(a,b,c){if(c.cfStagger==null)return t.limitkula;if(c.cfStagger=="cycle")return t.kulaA[b%t.kulaA.length];if(c.subordinate!=null||c.cfScheme&&typeof c.cfScheme=="string"&&c.cfScheme.match(/^interpolate/))return a=t.kulaF(b*2/t.numkids),b*2>t.numkids&&(a=t.kulaF((2*t.numkids-b*2)/t.numkids)),a;b=D.getRandPoint(1,[[0,0],[t.kulaA.length-1,20]],c.cfStagger,"uniform");b=parseInt(b[0][0]);return t.kulaA[b]};this.d3voronify=function(a,b,c){var e;var g="0 0 200 200";var f,h,q,m;d.vprint("d3",
     21"voronify START with el.id:"+a.id);var z=d3.select(a);d.vprint("d3","voronify have rootel?"+typeof z);d.vprint("d3","voronify have rootel.node?"+typeof z.node+" fill?"+z.attr("fill"));R=-1;V=c;c=d3.select(d.bubbleUp(a,"svg"));d.vprint("d3","voronify have svg?"+typeof c);var n=c.node().getBBox();c.attr&&c.attr("viewBox")&&(g=c.attr("viewBox"));g=g.split(/ /);d.vprint("d3","voronify  eloop.template box: "+y.viewBoxA+" local bbox?"+typeof n+" local viewBox:"+c.attr("viewBox")+" obj bbox:"+d.dumpvar(n,
     22"onelevel"));g=b.target=="standard"?[[0,0],[1E3,1E3]]:y.viewBoxA!=null&&b.target=="template"?[[y.viewBoxA[0],y.viewBoxA[1]],[y.viewBoxA[2],y.viewBoxA[3]]]:n.width>0?[[d.d0(n.x),d.d0(n.y)],[d.d0(n.width),d.d0(n.height)]]:[[g[0],g[1]],[g[2],g[3]]];var k=[[0,0],[g[1][0]-1,g[1][1]-1]],l=[[0,0],[g[1][0]+1,g[1][1]+1]],u=d3.scaleLinear().domain([0,d.d0(n.width-1)]).rangeRound([0,255]).clamp(!0),L=d3.scaleLinear().domain([0,d.d0(n.width-1)]).rangeRound([0,255]).clamp(!0);d.vprint("d3","voronify d3 extentA:"+
     23d.dumpvar(k,"onelevel")+" extentB:"+d.dumpvar(l,"onelevel"));k=D.getRandPoint(D.codonSel(b.num),k,b.xpat,b.ypat);d.startTimer();d.vprint("util","voronify d3 rand points time:"+d.getTimer()+" num sites:"+k.length);n="pattern_"+d.alphanumA[Math.floor(Math.random()*36)]+d.alphanumA[Math.floor(Math.random()*36)]+d.alphanumA[Math.floor(Math.random()*36)]+"_1_";b.colorO!=null&&b.colorO.cfFunc!=null&&(d.vprint("d3","voronify d3 -START- using color func:"+b.colorO.cfFunc),t[b.colorO.cfFunc](a,b.colorO),d.vprint("d3",
     24"voronify d3 -END-  using color func:"+b.colorO.cfFunc));a=d3.voronoi().extent(l);d.vprint("d3","voronify d3 GERNERATE time:"+d.getTimer());var x=[],I="fill";B.isArray(b.shape)&&(b.shape=D.codonSel(b.shape));b.shrink!=null&&(b.shrink=D.codonSelJSON(b.shrink),b.shape!="lines"&&b.shape!="oneline"&&b.shape!="triangles"||b.shrink.thinthreshold==null||delete b.shrink.thinthreshold);b.shape=="lines"||b.shape=="oneline"?(I="stroke",a=a.links(k)):a=b.shape=="triangles"?a.triangles(k):a.polygons(k);d.vprint("d3",
     25"voronify making pattern with num points:"+a.length+" have svg el?"+c);g=c.select("defs").append("pattern").attr("id",n).attr("x",g[0][0]).attr("y",g[0][1]).attr("width",g[1][0]).attr("height",g[1][1]).attr("patternUnits","userSpaceOnUse").attr("patternTransform","scale(1)");b.cfApplyClass!=null&&g.attr("class",b.cfApplyClass);g.selectAll("path").data(a).enter().append("path").attr(I,function(v,M){return v==null||v.length==null&&v.source==null?(d.vprint("d3^2","BAD d at index["+M+"]"+d.dumpvar(v,
     26"onelevel")),""):b.colorO!=null?(f=v.source==null?v[0][0]:d.d0(v.source[0]),h=v.source==null?v[0][1]:d.d0(v.source[1]),e="#34F",b.colorO.scheme=="solid"&&b.colorO.hex!=null?e=b.colorO.hex:b.colorO.scheme=="monochrome"?e="rgb(0, 0, "+u(f)+")":b.colorO.scheme=="inerpolateColor"?e=d3[b.colorO.schemeParam](u(h)/255):b.colorO.scheme=="random"?e="rgb("+(h+f)%255+", "+u(f)+", "+L(h)+")":b.colorO.cfFunc!=null?e=da(v,M,b.colorO):d.vprint("d3","no color to set! had colorO but no scheme"),d.vprint("d3^2","setting "+
     27I+":"+e),e):""}).attr("d",function(v,M){if(v==null||v.length==null&&v.source==null)return"";if(v.source!=null)return f=d.dd(v.source[0]),h=d.dd(v.source[1]),q=d.dd(v.target[0]),m=d.dd(v.target[1]),x.push("M",f,h,q,m),"M"+f+","+h+" "+q+","+m;var r=K.vA2O(v);r=b.shrink!=null?D.vM2Q(r,b.shrink):K.vMstr(r);d.vprint("d3^2","d["+M+"]:numpoints:"+v.length+": Cstr:"+r);return r});x.length>0&&b.shape=="oneline"&&(a=c.select("g"),d.vprint("d3","voronify had allPoints:"+x.length+" have g element?"+a),g=x.join(),
     28g=g.replace(/,?M,/g," M"),l=e==null?"":" stroke='"+e+"'",a.node().innerHTML="<path "+l+"  d='"+g+"' />");d.vprint("util","voronify d3 MODIFY time:"+d.getTimer());z.attr("fill","url(#"+n+")");y.isBlocks&&c.append("rect").attr("x",0).attr("y",0).attr("width","100%").attr("height","100%").attr("fill","url(#"+n+")")};this.d3transform=function(a,b,c){d.vprint("d3","d3transform  = = =  START = = =  with rootel:"+a);a=d3.select(a);R=-1;d.vprint("d3","have codondex:"+R+" codon array:"+c);var e=this.codonSel(b.cfSections);
     29var g=qa(b,e);c=b.cfData!=null?b.cfData:d.ones(e);d.vprint("d3","my data array:"+c);var f=a.node().firstChild;for(d.vprint("d3","num first child:"+f.nodeName+","+f+" nextSibling:"+f.nextSibling.nodeName);(f.nodeName=="#text"||f.nodeName=="#comment")&&f.nextSibling!=null;)f=f.nextSibling;d.vprint("d3","look for tag:"+f.nodeName);d.vprint("d3","rendering with cfSections:"+e+" cfTag:"+b.cfTag+" cfWrap:"+b.cfWrap+" incA:"+g+":");this.incA=g;this.jA=b;B.isArray(b.cfTag)||(b.cfTag=[b.cfTag]);B.isArray(b.cfWrap)||
     30(b.cfWrap=[b.cfWrap]);c=a.selectAll(f.nodeName).data(d.ones(e)).enter().append(function(){return f.cloneNode()});for(a=0;a<b.cfTag.length;a++)this.wrap=b.cfWrap[a],this.contA=this.wrap.match(/CONTENT[0-9]+_/g),d.vprint("d3","process tag:"+b.cfTag[a]+" wrap:"+this.wrap+" numtags:"+this.contA),c.attr(b.cfTag[a],ra.bind(this))};this.divEffect=function(a){var b=a.getAttribute("data-div");var c=a.getAttribute("data-aa");d.vprint("d3","divEffect: - - - - - - - - - -  - - - - - - - - - -arg:"+typeof a+"  have data?"+
     31typeof genolve_gen_sel_hash+" key:"+c+" "+b);if(b.match(/(decoration|text|flair)/)){var e=parseFloat(a.getAttribute("data-dur"));a=parseFloat(a.getAttribute("data-pause"));d.vprint("d3","divEffect: - - - - - - - - - -  - - - - - - - - ani dur:"+e+" pause:"+a);var g="falling-snow-"+b;var f=B("#"+g);f.length>=1?d.vprint("eloop","divEffect: - - - - - - - - - -  - - - - - - - - div already there!"+g):(B("body").prepend('<div id="'+g+'" class="gnlv-falling"/>'),f=B("#"+g),b=d3.select("#"+c+" #"+b).node().innerHTML,
     32b=b.replace("opacity: 0","opacity: 1"),d.vprint("d3","divEffect: - - - - - - - - - -  - - - - - - - - svg:"+b),b='<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg width="100%" height="100%"  preserveAspectRatio="xMinYMin slice" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:html="http://www.w3.org/1999/xhtml"><desc>evolved at www.genolve.com</desc>CONTENT</svg>'.replace(/CONTENT/,b),c="data:image/svg+xml;utf8,"+encodeURIComponent(b),c="data:image/svg+xml;base64,"+
     33btoa(b),f.css({"background-image":"url( '"+c+"')"}),f.css({opacity:0,animation:"gnlv-opacity-fadein  linear  "+e+"s forwards"}),document.fallingtimeout1=window.setTimeout(function(){B("#"+g).css({opacity:1,animation:"gnlv-opacity-fade  linear  "+e+"s forwards"})},(e+a)*1E3),document.fallingtimeout2=window.setTimeout(function(){B("#"+g).remove()},(e*2+a)*1E3))}else typeof genolve_gen_sel_hash!="undefined"&&genolve_gen_sel_hash[b]?(d.vprint("d3","divEffect: data:"+d.dumpvar(genolve_gen_sel_hash[b])),
     34genolve_divEffect(b,d,B)):d.vprint("warn","divEffect: genolve_gen_sel_hash had no data for:"+b)};var sa=function(a,b){var c,e=y.anielapsed();var g=F[b].segmO[a];for(c in g)if(c=="wurd"){var f=D.autoWrapIt("text",null,F[b].justify,F[b].autoWrap,htmlEntities(g[c]));var h=d3.select("#"+b+" g[id^=tgrp]");d.vprint("aig","doSubtitles.runSegment["+a+"] found tgrp under ["+b+"]? "+typeof h);h.node().innerHTML=f}else c!="start"&&c!="TO"&&(f=Snap.select("#"+c))&&f.attr&&(g[c].match(/;/)?f.attr("keyTimes",g[c]):
     35(f.attr("begin",g[c]),f.attr("lastcall",""),f.attr("from",Math.random())),d.vprint("aig","doSubtitles.runSegment["+a+"] subt at:"+d.d4(e/F[b].atime)+" restored["+c+"] -> "+g[c]))};this.subt_kickoff=function(a,b){var c,e;if(typeof a=="string")d.vprint("eloop","subt_kickoff found string AAid:"+a);else if(a&&a.getAttribute("id")=="timekeeperani"){ca=a.parentNode.parentNode.getAttribute("datatime");a=a.parentNode.parentNode.parentNode.getAttribute("id");d.vprint("eloop","subt_kickoff had AAid?"+a+" atime:"+
     36ca+" aidA set?"+typeof F);if(ca==null)return;F[a]||(F[a]={});F[a].atime=ca}else d.vprint("eloop","subt_kickoff found no AAid! type:"+typeof a+" attributes?"+a.attributes.id+" getAttr:"+a.getAttribute("id"));if(!F[a].segmO||b!=null)if(d.vprint("eloop","subt_kickoff ======== looking for segO under #"+a+" #text"),c=d3.select("#"+a+" #text")){if(e=c.node().getAttribute("segm"))d.vprint("error","subt_kickoff found and set segmO:"+e),F[a].segmO=d.parsejson(e);if(c=c.node().getAttribute("gnlv-data"))d.vprint("eloop",
     37"subt_kickoff found and set mydata:"+c),c=d.parsejson(c),F[a].justify=c.justify,F[a].autoWrap=c.autoWrap}b==null&&(b=0);if(F[a].segmO)for(d.vprint("eloop","subt_kickoff ======== subtitles num segments:"+F[a].segmO.length+" startat:"+b+" dump first:"+d.dumpvar(F[a].segmO[0])),e=0;e<F[a].segmO.length;e++)c=F[a].segmO[e],d.vprint("eloop","subt_kickoff ========["+e+"]: seg.start:"+c.start+" >? startat:"+b),c.start>=b&&(c.TO&&window.clearTimeout(c.TO),F[a].segmO[e].TO=window.setTimeout(sa,d.setVal(c.start,
     38-(b+.001),0,F[a].atime,d.setValMode.LIMIT)*1E3,e,a))};this.d3confetti=function(a,b,c,e,g,f,h){var q=0,m=0,z,n=f.match(/(burst-selfzoomInOut)/)?9:f.match(/(sprinkle)/)?20:30;var k=0;var l=a.getAttribute("lastcall");var u=a.getAttribute("dur");var L=a.getAttribute("utarg"),x=a.getAttribute("sizehint");e=parseInt(e);if(e>0)if(l==null&&h=="repeat"){if(h=y.anielapsed()-parseFloat(a.getAttribute("begin")),h<0&&(h+=parseFloat(u)),a.setAttribute("lastcall",Date.now()-h*1E3),d.vprint("d3","d3confetti first call ignore, start delta:"+
     39h+" firefox:"+d.getBrowser("isfirefox")),d.getBrowser("isfirefox"))return}else if(h=="begin")d.vprint("d3","d3confetti 1st begin OK");else{if(Date.now()-l<(parseFloat(u)-.5)*1E3){d.vprint("d3^2","d3confetti anirepeat ignore delta:"+(Date.now()-l)+" < "+(parseFloat(u)-.5)*1E3);return}d.vprint("d3","d3confetti trigger:"+a.id+"  delta:"+(Date.now()-l)+" event:"+h);a.setAttribute("lastcall",Date.now())}l=a.getAttribute("lastcall");var I=t.mulberry32(parseFloat(l));u=d3.select(b);if(u==null||u.size==null||
     40u.size()!=1)d.vprint("warn","confetti X X X X found none or more than one of place targ:"+b);else if(f.match(/(sprinkle)/)){var v=a.getAttribute("vx");var M=a.getAttribute("vy");d.vprint("d3","d3confetti sprinkle tw/th:"+y.tw+","+y.th+" scaled xy limits:"+v+","+M)}var r=d3.select("#"+c);r!=null&&r.size!=null&&r.size()==1&&r.node!=null||d.vprint("warn","confetti X X X X found none or more than one of targ:"+c+":"+typeof r);var E=b.match(/(text)/);l=E?"g[id^=tgrp]":"g[id^=B0]";h=r.select(l);f.match(/(corner)/)&&
     41(h=d3.select("#"+L));if(h==null||h.size==null||h.size()!=1||h.node==null)d.vprint("warn","confetti X X X X found none or more than one of:usetargid:"+L+" OR selector:"+l+" place:"+b+" from :"+r.attr("id")),f.match(/(self)/)||(h=r),d.vprint("warn","usetarg alternate:"+(h.size?h.size():"nada"));else{var J=[];k=f.match(/(sprite)/)?r:h;k=k.selectAll(".gnlv-sprite");k.each(function(C){J.push(d3.select(this))});f.match(/(sprite)/)||k.classed("gnlv-gone",!1);k=k.size();k>0&&d.vprint("d3","confetti: is a sprite? found:"+
     42k)}var p=r.node().getBBox();l=[[d.d0(p.x),d.d0(p.y)],[d.d0(p.width),d.d0(p.height)]];var N=Math.max(p.width,p.height)*2;var aa=b.match(/(text)/)?100:50;var G=d.dd(Math.abs(g)/15);G=f.match(/(burst-selfzoom)/)?1:G;var ta=Math.floor(Math.random()*90-45),S=1;if(f.match(/(tile)/)){r=d3.select("#"+L);r=r.node().getBBox();if(typeof r!="object"||r.width==0)r={x:0,y:0,width:200,height:200};x&&(S=parseFloat(x)/(E?5:20));n=parseInt(p.width/(S*r.width)*p.height/(S*r.height)+.5);d.vprint("d3","confetti: TILE TILE "+
     43L+" tilesizer:"+x+"->"+S+" targetsize:"+p.x+","+p.y+","+p.width+","+p.height+" size:"+r.width+","+r.height+" object size:"+p.width+","+p.height+" NUM:"+n);p.width==0?(x=a.getAttribute("tbox"),x!=null?p=d.parsejson(x):d.vprint("warn","confetti: box width zero and no saved data!")):a.setAttribute("tbox",JSON.stringify(p).replace(/"/g,"'"));var H=b.match(/(text)/)?B.extend({},p):{x:0,y:0,width:200,height:200};n=parseInt(H.width/(S*r.width)*H.height/(S*r.height)+.5);H.cx=H.x+H.width/2;H.cy=H.y+H.height/
     442;q=H.x;m=H.y}x="interpolateCool";p="interpolateWarm";if(f.match(/(burst-selfzoomInOut|sprinkle|sprite|tile)/)){x="interpolateRainbow";p="interpolateViridis";var O=parseFloat(a.getAttribute("ppp"));var P=parseFloat(a.getAttribute("ddd"))}var ea=d3[x],ma=d3[p];if(f.match(/(sprite)/)&&J.length>0)e>0?(ia(J,1),window.setTimeout(y.tpr.d3confetti,(P+O-1.1)*1E3,a,b,c,-e,g,f)):(d.vprint("d3","confetti:  SPRITE X deactivate X"),ia(J,0));else if(e>0){u.select("#confetti"+c).remove();r=d3.select("#"+c);p=r.node().getBBox();
     45O=b.match(/(text)/)?p.x+p.width/2:p.width/2;var W=p.height/2;Math.abs(g)!=10&&Math.abs(g)!=3||!f.match(/(burst-self|tile|corner)/)?b.match(/(text)/)&&(O=f.match(/(burst-selfzoom|tile)/)?0:O/2,W=f.match(/(burst-selfzoom|tile)/)?0:W/2):W=O=0;x="translate("+O+","+W+")";E="";c.match(/tel[0-9]+_/)&&(E+=" "+u.select("g[id^=tgrp]").attr("class"),h=r,r=parseFloat(c.split("_")[1]),W=f.match(/(burst-self|corner)/)?(r-1)*p.height*G:(r-1)*p.height,x=f.match(/(burst-selfzoom|tile)/)?x:"translate("+O+","+W+")");
     46d.vprint("d3","confetti: making it, toggle:"+e+" under:"+b+" id:"+u.attr("id")+" svg:bbox:"+l+"  scale:"+G+" gtrans:"+x);O=u.append("g").attr("id","confetti"+c).attr("transform",x).attr("class",f+E);f.match(/(InOut)/)&&(l=document.createElement("style"),l.type="text/css",P=document.createTextNode(".gnlv-btime use { --bdur:"+P+"s; }"),l.appendChild(P),O.node().appendChild(l));var fa=O.append("g").attr("id","confettig").attr("class","gnlv-btime").attr("style","transform:translate(0px,0px)");if(f.match(/(burst-self|corner)/)){u.size()>
     471&&alert("size for place too big:"+u.size());var U=[];P=k==0?h.attr("id"):J[0].attr("id");fa.selectAll("use").data(d3.range(n)).enter().append("use").attr("xlink:href","#"+P).attr("style",function(C,w){var A;var ba=f.match(/(burst-selfzoom)/)?ea(w/n):Z(6);var ha=f.match(/(burst-selfzoom)/)?ma(w/n):Z(6);var X=A=100;C=0;if(f.match(/(collapse)/)){A=d.ddd(Math.random()*Math.PI*2);U.push(A);C=d.d0(A*180/Math.PI+90);var Q=0+N;X=f.match(/(burst-selfzoom)/)?100:100+Q*Math.cos(A);A=f.match(/(burst-selfzoom)/)?
     48100:100+Q*Math.sin(A);G=b.match(/(text)/)?3:.7}else f.match(/(sprinkle)/)?(A=d.ddd(Math.random()*Math.PI*2),U.push(A),C=0,X=parseFloat(v)*I()-v/2,A=parseFloat(M)*I()-M/2,G=0):f.match(/(tile)/)&&(A=d.ddd(Math.atan2(m-H.cy,q-H.cx)),U.push(A),C=0,A=X=100,z="mask_"+w,fa.append("mask").attr("id",z).append("use").attr("xlink:href","#"+L).attr("fill","#FFFFFF").attr("transform","translate("+q+","+m+") scale("+S+")"),q+=200*S,q>=H.x+H.width&&(q=H.x,m+=200*S,m>=H.y+H.height&&d.vprint("d3","confetti["+w+"]:  y:"+
     49m+" past bound:"+(H.y+H.height)+" delta:"+200*S)),G=1);w=f.match(/(burst-selfzoom|sprinkle|tile)/)?";transition-delay:"+d.dd(1-w/n)+"s;":"";f.match(/(tile)/)&&(w+=";mask:url('#"+z+"');");return"transform:translate("+X+"px,"+A+"px) rotate("+C+"deg) scale("+G+") translate(-100px,-100px);opacity:1;fill:"+ba+"; stroke:"+ha+w});a.setAttribute("ang",U.join())}else fa.selectAll("path").data(d3.range(n)).enter().append("path").attr("d",function(C,w){var A;f=="burst-triangle"||f=="burst-confetti"?A="M 0,0 60,0 30,40z":
     50f=="burst-stars"?A="M47-9.4L19.4,11.5l8.9,33.5L-0.1,25.1l-29.1,18.8l10.1-33.1L-46-11l34.6-0.7L1.1-44l11.3,32.7L47-9.4   L19.4,11.5":f=="burst-bubbles"?A="M25,0.8c0,6.6-2.6,12.5-6.9,17C13.5,22.5,7.9,25,1.1,25c-7.8,0-13.5-3.8-17.1-7.1c-4.2-3.9-7-11-7-17.1\t\tc-0.1-5.4,2.1-12.1,7-16.8c4.9-4.7,10.5-7,17-7c7.7,0,13.3,3.1,17,7C22.3-11.4,25-5.8,25,0.8c0,6.6-2.6,12.5-6.9,17":console.warn("3rdparty.raindrop has no option to make:"+f);return A}).attr("style",function(C,w){C=f=="burst-bubbles"?ea(w/n):Z(6);
     51return"transform:translate(0px,0px) scale("+G+");opacity:1;fill:"+C});window.setTimeout(y.tpr.d3confetti,100,a,b,c,-e,g,f)}else x=f.match(/(burst-self|corner)/)?"use":"path",d.vprint("d3","confetti: animate it, toggle:"+e+" target:"+c+": found?"+u.select("#confetti"+c).size()+" selecting:"+x),e==-3&&f.match(/(burst-selfzoomInOut)/)?(d.vprint("d3","confetti remove confetti hack!"),u.select("#confetti"+c).remove()):e==-2&&f.match(/(burst-selftile)/)?(l=u.select("#defs"+c),l.size()==1&&(a=l.node().parentNode,
     52d.vprint("d3","d3confetti UNDO defs hide, parent:"+a.getAttribute("id")),c=l.select("#defs"+c+">g"),c.size()==1?a.appendChild(c.node()):d.vprint("warn","d3confetti UNDO defs num <g> found other than 1:"+c.size()))):(f.match(/(burst-selfzoom|tile)/)&&(l=u.select("#defs"+c),l.size()==0&&(d.vprint("d3","confetti: create defs wrap"),p=document.createElementNS("http://www.w3.org/2000/svg","defs"),p.setAttribute("id","defs"+c),(r=h.node().parentElement)?(r.appendChild(p),l=u.select("#defs"+c)):d.vprint("d3",
     53"confetti: utarg parent null")),l.node().appendChild(h.node())),h=u.select("#confetti"+c),h=h.selectAll("g").attr("style",function(C,w){C=0;f=="burst-bubbles"&&(C=-600*G,N/=2);return"transform:translate(0px,"+C+"px)"}),h=u.selectAll("#confetti"+c+" g>"+x),f.match(/(collapse|tile)/)&&(u=a.getAttribute("ang"),U=u.split(/,/).map(Number),I=t.mulberry32(U[0])),h.attr("style",function(C,w){var A=0,ba=0;var ha=f.match(/(burst-selfzoom|burst-bubbles)/)?ma(w/n):Z(6);var X=f.match(/(burst-selfzoom|burst-bubbles)/)?
     54ea(w/n):Z(6);C=f.match(/(burst-selfzoom)/)?ta:d.d0(Math.random()*360-180);var Q=d.ddd(Math.random()*Math.PI*2);var T=Math.random()*N;var Y=0;f.match(/(collapse)/)?(Q=U[w],C=d.d0(Q*180/Math.PI+90),T=I()*aa,ba=25*I()-12.5,Y=e==-2?0:1,A=100,G=b.match(/(text)/)?1:.1):f.match(/(tile)/)&&(G=w<n*.25||w>n*.75?1.5+Math.random():.1+Math.random(),Q=U[w],Y=C=T=0,A=100);var na=f.match(/(burst-selfzoom)/)?100:A+ba+T*Math.cos(Q);Q=f.match(/(burst-selfzoom)/)?100:A+ba+T*Math.sin(Q);f.match(/(burst-selfzoomInOut)/)&&
     55e==-1?(G=14,Y=1):f.match(/(burst-selfzoomInOut)/)&&e==-2?Y=G=1:G=f.match(/(burst-selfzoom)/)?d.dd(w*10/n):G;f.match(/(sprinkle)/)&&(C=0,na=parseFloat(v)*I()-v/2,Q=parseFloat(M)*I()-M/2,G=w<5?3.5+Math.random():.3+Math.random(),e==-2&&(G=.1),Y=e==-2?0:1);T=f.match(/(burst-self|corner|sprinkle|tile)/)?"translate(-100px,-100px)":"";T+=f.match(/(burst-selfzoom|corner|tile)/)?";transition-delay:"+(e==-1?d.dd(1-w/n):d.dd(w/n))+"s":"";T+=f.match(/(sprinkle)/)?";transition-delay:"+(e==-1?d.dd(w/n):d.dd(1-
     56w/n))+"s":"";T+=f.match(/(tile)/)?";mask:url('#mask_"+w+"')":"";return"transform:translate("+na+"px,"+Q+"px) rotate("+C+"deg) scale("+G+") "+T+";opacity:"+Y+";fill:"+ha+"; stroke:"+X}),f.match(/(collapse)/)&&k>0&&(d.vprint("d3","confetti s s s s s s s s s s s s s s s s s s s s s s s s s s s sprites found:"+k),h.on("transitionend",function(C,w){d3.select(this).attr("href","#"+J[1].attr("id"))})),e>-3&&f.match(/(burst-selfzoomInOut|sprinkle)/)&&(d.vprint("d3","confetti: que - = 3rd toggle = - , reverse"+
     57e),e==-1?window.setTimeout(y.tpr.d3confetti,(P+O-1.1)*1E3,a,b,c,e-1,g,f):window.setTimeout(y.tpr.d3confetti,3500,a,b,c,e-1,g,f)),e>-2&&f.match(/(collapse|tile)/)&&(P=f.match(/(collapse)/)?2.2:P+O,d.vprint("d3","confetti: - = 2nd toggle = -, delay:"+P+" opacity"+e),window.setTimeout(y.tpr.d3confetti,P*1E3,a,b,c,e-1,g,f)))};var ra=function(a,b){var c,e=this.wrap;for(c=0;c<this.contA.length;c++){var g=d.d0(this.contA[c])-1;var f=this.jA.cfCalc==null?"+":this.jA.cfCalc[g];d.vprint("d3","d3Attr_templateEngine i["+
     58b+"] d["+a+"] nn["+c+"] wrap:"+this.contA[c]+" inc["+g+"]="+this.incA[g]+" calc:"+f);f=="*"?(e=e.replace(this.contA[c],this.jA.cfFrom[g]),this.jA.cfFrom[g]*=this.incA[g]):e=e.replace(this.contA[c],this.jA.cfFrom[g]+b*this.incA[g])}return e};this.codonSelJSON=function(a){for(var b in a)B.isArray(a[b])&&(a[b]=D.codonSel(a[b]));return a};this.setCodonA=function(a){V=a};this.codonSel=function(a,b){if((b=="scale"||b=="normal"||b==null)&&!B.isArray(a))return d.vprint("d3","codonSel, have NORMAL mode but not passed a array!"+
     59a),a;R=d.setVal(R,1,0,V.length-1,d.setValMode.LOOP);var c=parseInt(V[R]);b=="scale"?a=d3.scaleLinear().domain([0,200]).range(a).clamp(!0)(c):b=="func"?(typeof a!="function"&&d.vprint("d3","codonSel, have function mode but not passed a function!"+a),a=a(parseFloat(c)/200)):a=a[c%a.length];d.vprint("d3","codonSel codonA["+R+"]="+c+" selects   = =>    "+a);return a};this.d3_getNchild=function(a,b){var c=[];a=a.firstChild;for(d.vprint("d3","d3_getNchild first child:"+a.nodeName+","+a+" nextSibling:"+
     60a.nextSibling.nodeName);a.nextSibling!=null&&b>0;)a.nodeName=="#text"||a.nodeName=="#comment"?a=a.nextSibling:(c.push(a),a=a.nextSibling,b--);return c};this.getRandPoint=function(a,b,c,e,g,f){var h=[],q=d.d0(b[0][0]),m=d.d0(b[0][1]),z=d.d0(b[1][0]),n=d.d0(b[1][1]);d3.scaleLinear().domain([q,q+z]).range([q,q+z]).ticks(7);c=="VRANDOM"&&(c=D.codonSel(ka));e=="VRANDOM"&&(e=D.codonSel(ka));c=="RANDOM"&&(c=D.codonSel(ja));e=="RANDOM"&&(e=D.codonSel(ja));for(b=0;b<a;b++){var k=Math.random();var l=Math.random();
     61var u=.5+.1*Math.sin(l*2*Math.PI);var L=.5+.1*Math.sin(k*2*Math.PI);c!="uniform"&&(c=="bigEdge"?k=k>u?d3.easeQuadIn(k):d3.easeQuadOut(k):c=="bigMiddle"?k=k<u?d3.easeQuadIn(k):d3.easeQuadOut(k):c=="bands"?k=Math.round(k*z/15)*15/z:(d3[c]==null&&(d.vprint("warn","getRandPoint did not find ease:"+c+" selecting: easeLinear"),c="easeLinear"),k=d3[c](k)));e!="uniform"&&(e=="bigEdge"?l=l>L?d3.easeQuadIn(l):d3.easeQuadOut(l):e=="bigMiddle"?l=l<L?d3.easeQuadIn(l):d3.easeQuadOut(l):e=="bands"?l=Math.round(l*
     62n/15)*15/n:(d3[e]==null&&d.vprint("warn","getRandPoint did not find ease:"+e),l=d3[e](l)));l=[d.d0(k*z+q),d.d0(l*n+m)];g!=null&&l.push(d.dd(d.setVal(0,0,g[0],g[1],d.setValMode.RANDOM)));f!=null&&l.push(d.dd(d.setVal(0,0,f[0],f[1],d.setValMode.RANDOM)));h.push(l)}return h};var qa=function(a,b){var c,e=[];b<1&&console.error("doFromToBy sections must be 1 or more");B.isArray(a.cfFrom)||(a.cfFrom=[a.cfFrom]);if(a.cfTo!=null)for(B.isArray(a.cfTo)||(a.cfTo=[a.cfTo]),a.cfTo.length!=a.cfFrom.length&&console.warn("doFromToBy: size From != To: "+
     63a.cfFrom.length+"!="+a.cfTo.length),c=0;c<a.cfTo.length;c++){var g=(a.cfTo[c]-a.cfFrom[c])/(b-1);d.vprint("d3","doFromToBy["+c+"] sections:"+b+":"+g);e[c]=g}a.cfInc!=null&&(B.isArray(a.cfInc)||(a.cfInc=[a.cfInc]),a.cfInc.length!=a.cfFrom.length&&console.warn("doFromToBy: size From != cfInc: "+a.cfFrom.length+"!="+a.cfInc.length),e=a.cfInc);return e};this.vM2Q=function(a,b){var c,e,g=[];if(b.thinthreshold!=null&&(a=K.vthinpoints(a,b.thinthreshold),a.length<3))return"";var f=K.vcentroid(a);var h=b.shrinkamount;
     64for(c=0;c<a.length;c++){var q=b.shrinkmode=="centroid"?K.vwave(a[c],h,f,1):b.shrinkmode=="fixed"?K.vmovetoward(a[c],f,h):a[c];g.push(q);c==0&&(e=q);if(c<a.length-1){q=K.vave(a[c],a[c+1]);var m=K.vmag(K.vsub(a[c],a[c+1]))}else q=K.vave(a[c],a[0]),m=K.vmag(K.vsub(a[c],a[0]));var z=1-Math.pow(.3*m/Math.abs(h),1.1);m=z<-2?-2*h:z*h;d.vprint("util^2","vM2Q factor:"+z+" delta2:"+m);b.shrinkmode=="fixed"?g.push(K.vmovetoward(q,f,m)):g.push(q)}g.push(e);g.length%2==0&&d.vprint("util","vM2Q POINTS missmatch EVEN need ODD");
     65if(b.retmode=="points")return g;a="M"+g[0].cx+","+g[0].cy+" Q";for(c=1;c<g.length;c++)a+=g[c].cx+","+g[c].cy+" ";return a+" Z"}};
  • genolve-toolkit/trunk/js/genolve-sound.js

    r3202739 r3235663  
    1313b.muteTrans!=null&&b.muteTrans(e);b.muteExtra!=null&&b.muteExtra()};this.play=function(){f.vprint("snd","= = = = = global PLAY Sound["+e+"] extra?"+(b.playExtra!=null));b.muted=!1;Howler.mute(!1);for(var a in b.plO[e].sndO)f.vprint("snd","= = = = =  PLAY["+e+"]["+a+"]"),b.plO[e].sndO[a].playmode!="none"&&b.plO[e].sndO[a].playmode=="continuous"&&b.plO[e].sndO[a].play();this.ana();b.playExtra!=null&&b.playExtra()};this.volume=function(a,c){f.vprint("snd","= = = = = volume Sound["+a+"] found?"+(b.plO[e]&&
    1414b.plO[e].sndO[a])+" vol:"+c);b.plO[e]&&b.plO[e].sndO[a]&&b.plO[e].sndO[a].volume(parseFloat(c)/10)};this.global_vol=function(a){Howler.volume(a)};this.addVol=function(a){if(a==null)f.vprint("snd","sound addVol["+e+"] abort, missing parent obj!");else{var c=a.select("#vol_on_off"),d=!0;L(e);c&&(oldver=c.attr("data-ver"),oldver=oldver==null?0:parseFloat(oldver),f.vprint("snd","addVol["+e+"] sound  found existing vol el! ver:"+oldver),oldver<1.1?c.remove():d=!1);d&&(f.vprint("snd","addVol["+e+"] sound new volsprite and hide!"),
    15 a.append(Snap.parse(b.volsprite)),c=a.select("#vol_on_off"),c.hasClass("gnlv-gone")||c.addClass("gnlv-gone"),b.plO[e].volState="vol_hidden");b.plO[e].volel=c;b.plO[e].voldomel=c.node;return c}};this.showVol=function(a){b.plO[e].volel&&b.plO[e].volel.attr&&typeof b.plO[e].volel.removeClass=="function"?(f.vprint("snd","showVol["+e+"] "+a+" have func?"+typeof b.plO[e].volel.removeClass),a==null||a==1?b.plO[e].volel.removeClass("gnlv-gone"):b.plO[e].volel.addClass("gnlv-gone")):f.vprint("warn","showVol["+
    16 e+"] = = = found no vol element at:"+b.plO[e].volel)};this.registerVol=function(a){a=a?a:q.volel;a==null&&(a="#vol_on_off");var c=Snap.select(a);f.vprint("snd","registerVol["+e+"]found ["+a+"]?"+typeof c);L(e);c&&c.attr?(f.vprint("snd","registerVol["+e+"] found it:"+c.attr("id")+", have removeClass?"+typeof c.removeClass),b.plO[e].volel=c,b.plO[e].voldomel=c.node):f.vprint("warn","registerVol["+e+"] X X X found no vol element at:"+a)};this.toggleVol=function(a){var c;typeof a=="string"?b.plO[e].volState=
    17 a=="vol_on"?"vol_off":"vol_on":typeof a=="object"&&(f.vprint("snd","toggleVol[ event:"+a+"]  nodeType?:"+a.nodeType+" id?"+a.id),newapl=a.getAttribute("data-target"),f.vprint("snd","toggleVol[ event:"+a+"]  playlist:"+newapl),L(newapl));b.plO[e].voldomel?c=b.plO[e].voldomel.getAttribute("id"):f.vprint("snd","toggleVol[ event:"+a+"] NO voldomel");b.plO[e].volState=="vol_on"?(b.plO[e].volState="vol_off",b.plO[e].voldomel.querySelector(".vol_on").style.display="none",b.plO[e].voldomel.querySelector(".vol_off").style.display=
    18 "block",b.mute()):(b.needSetup&&(b.needSetup=!1,typeof gnlvScroll!="undefined"&&q.doScroll==1?(gnlvScroll.doSetup(),typeof eloop!="undefined"&&eloop.ani_state=="running"&&eloop.mkVidtimer()):f.vprint("warn","toggleVol X X X sound had flag for doSetup but no gnlvScroll defined!"+typeof gnlvScroll+" or flagged to skip:"+q.doScroll)),b.plO[e].volState="vol_on",b.plO[e].voldomel.querySelector(".vol_on").style.display="block",b.plO[e].voldomel.querySelector(".vol_off").style.display="none",typeof eloop!=
    19 "undefined"&&eloop.music&&eloop.music.muzvidlink==1&&b.restart(eloop.anielapsed()),b.play());typeof gnlvScroll!="undefined"&&gnlvScroll.changeDiv(e,b.plO[e].volState);f.vprint("snd","toggleVol[cur:"+e+"]["+c+"]:"+b.plO[e].volState)};this.getVolState=function(){L(e);return b.plO[e].volState};this.volColor=function(){var a=W?"#FFFFFF":"#000000";W=!W;b.plO[e].volel.attr({fill:a})};this.volMarquee=function(a,c,d){zmq=b.plO[e].volel.select("#track_marquee");c!="auto"?zmq!=null&&zmq.remove():(f.vprint("snd",
    20 "= = = = = = = volMarquee marquee mode:"+c+" volel:"+b.plO[e].volel.attr("id")+" marquee el?"+zmq+" track info:"+d),zmq==null?(f.vprint("snd","= = = = = = = volMarquee inserted marquee"),b.plO[e].volel.append(Snap.parse(a.replace(/CONTENT/,d))),zmq=b.plO[e].volel.select("#track_marquee"),mycirc=b.plO[e].volel.select("circle"),mycirc.before(zmq)):zmq.select("textPath").node.innerHTML=d)};var L=function(a,c){a=="notset"&&(a="default");f.vprint("snd","changeapl mode:"+c+" playlist "+e+" -> "+a);a==e&&
    21 c!="create"&&b.plO[a]!=null?f.vprint("snd","changeapl noop, playlist  same! "+a):a==null||b.plO[a]==null||c=="create"?(f.vprint("snd","changeapl X X X X INIT X X X X   apl["+a+"]  not initialised? >"+b.plO[a]+"< or  mode create?"+c),e=a,b.plO[e]={},b.plO[e].sndO={},b.plO[e].volState="vol_hidden"):(f.vprint("snd","changeapl, new playlist! ["+e+"]volState"+b.plO[e].volState),b.plO[e].volState=="vol_on"&&b.toggleVol("vol_off"),e=a,typeof gnlvScroll!="undefined"&&gnlvScroll.changeDiv(e,b.plO[e].volState))};
    22 this.radio=function(a){b.start({enable:!0,snd:"myradio",file:a,format:["mp3","aac"],do3d:!1,playmode:"normal"})};this.ana=function(a){if(a!=null&&(x=a,f.vprint("snd","ana MODE CHANGE:"+x+" muted?"+b.muted+" save for later"),b.muted))return;x=="off"?p&&(p.clearRect(0,0,A,B),p.fillStyle="red",p.fillRect(0,0,A,B)):r==null&&(f.vprint("snd","ana -------------------------------------------------- CREATE --------------------------------------------------Analyser:"+x+" bins:"+b.numfreqbins),r=Howler.ctx.createAnalyser(),
    23 r.maxDecibels=-20,r.fftSize=b.numfreqbins*2,x==="onbeat"?(a=Howler.ctx.createBiquadFilter(),a.type="lowpass",Howler.masterGain.connect(a),a.connect(r),f.vprint("snd","ana   LOWPASS FILTER ADDED")):Howler.masterGain.connect(r),G&&(A=G.width,B=G.height),fa=Y=(new Date).getTime());x==="headless"?(this.bufferLength=D=r.frequencyBinCount,this.dataArray=new Uint8Array(this.bufferLength),this.timeArray=new Uint8Array(this.bufferLength)):x==="onbeat"?(this.bufferLength=D=r.frequencyBinCount,this.dataArray=
    24 new Uint8Array(this.bufferLength),this.timeArray=new Uint8Array(this.bufferLength),f.vprint("snd","start beatWorker at interval:10"),b.beatWorkerID&&window.clearInterval(b.beatWorkerID),b.beatWorkerID=window.setInterval(qa,10),f.vprint("snd","start metronome at period - - - - - - - - - - - :"+u),b.metronomeID&&window.clearInterval(b.metronomeID),b.metronomeID=window.setTimeout(ia,u)):x==="sinewave"?(D=r.frequencyBinCount,Q=new Uint8Array(D),r.getByteTimeDomainData(Q),ja()):x=="frequencybars"&&(D=
    25 R=r.frequencyBinCount,Z=new Uint8Array(R),p.clearRect(0,0,A,B),ka());f.vprint("snd","ana DONE anaMode [ "+x+" ]  num bins:"+D+" - - - - - - - - - - - -  - - - - - --  - - - - - --  -- - ");f.vprint("snd","ana DONE  - - - - - - - - - - - -  - - - - - --  - - - - - --  -- - ")};this.getAna=function(){if(r==null||x=="off"||b.muted)return null;r.getByteFrequencyData(this.dataArray);r.getByteTimeDomainData(this.timeArray);return{data:{freq:this.dataArray,time:this.timeArray,metro:(K()-E)/u,size:this.bufferLength}}};
     15a.append(Snap.parse(b.volsprite)),c=a.select("#vol_on_off"),c.hasClass("gnlv-gone")||c.addClass("gnlv-gone"),b.plO[e].volState="vol_hidden");b.plO[e].volel=c;b.plO[e].voldomel=c.node;return c}};this.showVol=function(a){b.plO[e].volel&&b.plO[e].volel.attr&&typeof b.plO[e].volel.removeClass=="function"?(f.vprint("snd","showVol["+e+"] "+a+" have func?"+typeof b.plO[e].volel.removeClass),a==null||a==1?b.plO[e].volel.removeClass("gnlv-gone"):b.plO[e].volel.addClass("gnlv-gone")):(f.vprint("warn","showVol["+
     16e+"] = = = found no vol element at:"+b.plO[e].volel),b.registerVol())};this.registerVol=function(a){a=a?a:q.volel;a==null&&(a="#vol_on_off");var c=Snap.select(a);f.vprint("snd","registerVol["+e+"]found ["+a+"]?"+typeof c);L(e);c&&c.attr?(f.vprint("snd","registerVol["+e+"] found it:"+c.attr("id")+", have removeClass?"+typeof c.removeClass),b.plO[e].volel=c,b.plO[e].voldomel=c.node):f.vprint("warn","registerVol["+e+"] X X X found no vol element at:"+a)};this.toggleVol=function(a){typeof a=="string"?
     17b.plO[e].volState=a=="vol_on"?"vol_off":"vol_on":typeof a=="object"&&(f.vprint("snd","toggleVol[ event:"+a+"]  nodeType?:"+a.nodeType+" id?"+a.id),newapl=a.getAttribute("data-target"),f.vprint("snd","toggleVol[ event:"+a+"]  playlist:"+newapl),L(newapl));if(b.plO[e].voldomel)var c=b.plO[e].voldomel.getAttribute("id");else f.vprint("error","toggleVol[ event:"+a+"] NO voldomel for apl:"+e),b.registerVol();b.plO[e].volState=="vol_on"?(b.plO[e].volState="vol_off",b.plO[e].voldomel.querySelector(".vol_on").style.display=
     18"none",b.plO[e].voldomel.querySelector(".vol_off").style.display="block",b.mute()):(b.needSetup&&(b.needSetup=!1,typeof gnlvScroll!="undefined"&&q.doScroll==1?(gnlvScroll.doSetup(),typeof eloop!="undefined"&&eloop.ani_state=="running"&&eloop.mkVidtimer()):f.vprint("warn","toggleVol X X X sound had flag for doSetup but no gnlvScroll defined!"+typeof gnlvScroll+" or flagged to skip:"+q.doScroll)),b.plO[e].volState="vol_on",b.plO[e].voldomel.querySelector(".vol_on").style.display="block",b.plO[e].voldomel.querySelector(".vol_off").style.display=
     19"none",typeof eloop!="undefined"&&eloop.music&&eloop.music.muzvidlink==1&&b.restart(eloop.anielapsed()),b.play());typeof gnlvScroll!="undefined"&&gnlvScroll.changeDiv(e,b.plO[e].volState);f.vprint("snd","toggleVol[cur:"+e+"]["+c+"]:"+b.plO[e].volState)};this.getVolState=function(){L(e);return b.plO[e].volState};this.volColor=function(){var a=W?"#FFFFFF":"#000000";W=!W;b.plO[e].volel.attr({fill:a})};this.volMarquee=function(a,c,d){zmq=b.plO[e].volel.select("#track_marquee");c!="auto"?zmq!=null&&zmq.remove():
     20(f.vprint("snd","= = = = = = = volMarquee marquee mode:"+c+" volel:"+b.plO[e].volel.attr("id")+" marquee el?"+zmq+" track info:"+d),zmq==null?(f.vprint("snd","= = = = = = = volMarquee inserted marquee"),b.plO[e].volel.append(Snap.parse(a.replace(/CONTENT/,d))),zmq=b.plO[e].volel.select("#track_marquee"),mycirc=b.plO[e].volel.select("circle"),mycirc.before(zmq)):zmq.select("textPath").node.innerHTML=d)};var L=function(a,c){a=="notset"&&(a="default");f.vprint("snd","changeapl mode:"+c+" playlist "+
     21e+" -> "+a);a==e&&c!="create"&&b.plO[a]!=null?f.vprint("snd","changeapl noop, playlist  same! "+a):a==null||b.plO[a]==null||c=="create"?(f.vprint("snd","changeapl X X X X INIT X X X X   apl["+a+"]  not initialised? >"+b.plO[a]+"< or  mode create?"+c),e=a,b.plO[e]={},b.plO[e].sndO={},b.plO[e].volState="vol_hidden"):(f.vprint("snd","changeapl, new playlist! ["+e+"]volState"+b.plO[e].volState),b.plO[e].volState=="vol_on"&&b.toggleVol("vol_off"),e=a,typeof gnlvScroll!="undefined"&&gnlvScroll.changeDiv(e,
     22b.plO[e].volState))};this.radio=function(a){b.start({enable:!0,snd:"myradio",file:a,format:["mp3","aac"],do3d:!1,playmode:"normal"})};this.ana=function(a){if(a!=null&&(x=a,f.vprint("snd","ana MODE CHANGE:"+x+" muted?"+b.muted+" save for later"),b.muted))return;x=="off"?p&&(p.clearRect(0,0,A,B),p.fillStyle="red",p.fillRect(0,0,A,B)):r==null&&(f.vprint("snd","ana -------------------------------------------------- CREATE --------------------------------------------------Analyser:"+x+" bins:"+b.numfreqbins),
     23r=Howler.ctx.createAnalyser(),r.maxDecibels=-20,r.fftSize=b.numfreqbins*2,x==="onbeat"?(a=Howler.ctx.createBiquadFilter(),a.type="lowpass",Howler.masterGain.connect(a),a.connect(r),f.vprint("snd","ana   LOWPASS FILTER ADDED")):Howler.masterGain.connect(r),G&&(A=G.width,B=G.height),fa=Y=(new Date).getTime());x==="headless"?(this.bufferLength=D=r.frequencyBinCount,this.dataArray=new Uint8Array(this.bufferLength),this.timeArray=new Uint8Array(this.bufferLength)):x==="onbeat"?(this.bufferLength=D=r.frequencyBinCount,
     24this.dataArray=new Uint8Array(this.bufferLength),this.timeArray=new Uint8Array(this.bufferLength),f.vprint("snd","start beatWorker at interval:10"),b.beatWorkerID&&window.clearInterval(b.beatWorkerID),b.beatWorkerID=window.setInterval(qa,10),f.vprint("snd","start metronome at period - - - - - - - - - - - :"+u),b.metronomeID&&window.clearInterval(b.metronomeID),b.metronomeID=window.setTimeout(ia,u)):x==="sinewave"?(D=r.frequencyBinCount,Q=new Uint8Array(D),r.getByteTimeDomainData(Q),ja()):x=="frequencybars"&&
     25(D=R=r.frequencyBinCount,Z=new Uint8Array(R),p.clearRect(0,0,A,B),ka());f.vprint("snd","ana DONE anaMode [ "+x+" ]  num bins:"+D+" - - - - - - - - - - - -  - - - - - --  - - - - - --  -- - ");f.vprint("snd","ana DONE  - - - - - - - - - - - -  - - - - - --  - - - - - --  -- - ")};this.getAna=function(){if(r==null||x=="off"||b.muted)return null;r.getByteFrequencyData(this.dataArray);r.getByteTimeDomainData(this.timeArray);return{data:{freq:this.dataArray,time:this.timeArray,metro:(K()-E)/u,size:this.bufferLength}}};
    2626var qa=function(){r.getByteFrequencyData(b.dataArray);var a=b.dataArray,c=b.bufferLength;da++;ca=((new Date).getTime()-fa)/da;var d=[],h,g=0,k=0,z=0,C=0,H=0;for(h=0;h<c;h++)d[h]=f.setVal(a[h]/255,0,0,1,f.setValMode.LIMIT),H=Math.max(H,d[h]),g+=d[h],h<3?C+=d[h]:h<6?z+=d[h]:k+=d[h];m.ave=g/c;m.max=H;m.bass=C/3;m.mid=z/3;m.treb=k/3;aa=!1;m.prevh2&&m.bass<m.prevh&&m.prevh<m.prevh2&&ba==1&&(ba=!1,aa=!0,F=100*m.prevh2,a={bar:F,ts:m.prevt2},F<O?T(a,"cyan"):(n.push(a),O=(3*O+(F-10))/4));m.bass>m.prevh&&m.prevh>
    2727m.prevh2&&(ba=!0);m.prevh2=m.prevh;m.prevt2=m.prevt;m.prevh=m.bass;m.prevt=K()},ia=function(){E=K();T({ts:E,bar:X},"black");f.vprint("snd",vv?"":"metronome - - - - - - - - - - - TICK at["+E+"] period:"+u+" beat:"+n.length);$.event.trigger({type:"beat",keyoff:"bass",time:new Date});if(ea--<0){ea=3;var a=(new Date).getTime();f.vprint("snd",vv?"":"metronome evalBeats - START -  period:"+u+" num beats:"+n.length);n.length==0&&(O*=.5);var c=99999999999999;b.doplots&&(v=V/10-S,plotw=(K(a)-V)/10,l.fillStyle=
  • genolve-toolkit/trunk/readme.txt

    r3202739 r3235663  
    22Contributors: genolve
    33Donate link: https://www.genolve.com/
    4 Tags: AI image, AI video, Midjourney, DALLE, Sora, ChatGPT, Veo, slider
     4Tags: AI image, AI video, Midjourney, DALLE, podcast, ChatGPT, Sora, slider
    55Requires at least: 5.0
    66Tested up to: 6.7.1
    7 Stable tag: 5.0.1
     7Stable tag: 5.0.2
    88Requires PHP: 5.2.4
    99License: GPLv2 or later
     
    1717### All Your Favorite AI Image Models 
    1818Use top **AI image generators like DALLE3, Stability.ai and Midjourney** from one simple interface. Genolve's single interface saves registering and paying on multiple AI image sites and having to learn different interfaces. If your AI image prompt falls flat with one model, switch to a different model with one click.  Suggested prompts are automatically generated with ChatGPT.   Your images are only seen by you instead of posting on a public interface. Several beta testers commented that they greatly prefer our interface over Midjourney's own interface. Refill credits at the same rate the vendor charges.
     19
     20### Generate Video for a Podcast or Music MP3 
     21Quickly add video to your Google NotebookLM podcasts. The AI will generate image slides to complement the audio. Alternatively, just display subtitles as the audio plays. Same process can make an instant music video, keying off the lyrics to add images or just display animated lyrics, [learn more]( https://www.genolve.com/svg/en/professional-podcasters-promote-your-product-with-notebooklm.php).
    1922
    2023### AI Video Generators Coming Soon 
     
    110113== Changelog ==
    111114
     115= 5.0.2 =
     116* Add a tour for adding video to podcasts.
     117* Autogen subtitles for podcasts or lyrics for music.
     118
    112119= 5.0.1 =
    113120* AI generates background video from MP3 input, e.g. make a video for your NotebookLM podcast.
Note: See TracChangeset for help on using the changeset viewer.