-
Notifications
You must be signed in to change notification settings - Fork 2
/
PassPilot.com_Sun Mar 07 2021 14_40_05 GMT+0100 (Central European Standard Time)_v1.7.html
3422 lines (3159 loc) · 214 KB
/
PassPilot.com_Sun Mar 07 2021 14_40_05 GMT+0100 (Central European Standard Time)_v1.7.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
<!doctype html><html data-framework="javascript"><head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> <title>PassPilot</title> <meta name="description" content="Password manager written with passion. Client side AES encryption, trust no one, off the grid password manager. Take full control of your data online or offline."> <meta name="author" content="PassPilot"> <meta name="viewport" content="width=device-width,initial-scale=1,user-scalable=no"> <script type="text/javascript"> var offline = true; var raw = ""; var language = "en"; var theme = "dark"; var pp_iter = 52662; var pp_timeout = 900000; </script> </head><body>
<style>
html,body,#app{box-sizing:border-box;width:100%;height:100%;overflow-wrap:break-word;word-wrap:break-word;word-break:break-word;-ms-hyphens:auto;-moz-hyphens:auto;-webkit-hyphens:auto;hyphens:auto;scroll-behavior:smooth;overflow:auto;-webkit-tap-highlight-color:transparent}*,*:before,*:after{box-sizing:inherit;margin:0;font-family:Tahoma,Verdana,Segoe,sans-serif;font-weight:normal}*::-ms-clear{display:none}.resp{width:100%;height:auto;border:4px solid #777}.app #wrapper{background-color:#f2f2f2}.app-dark #wrapper{background-color:#333}#wrapper{position:absolute;margin:0 auto;width:100%;bottom:0;top:0;-webkit-transition-property:bottom;-webkit-transition-duration:.2s;-webkit-transition-timing-function:cubic-bezier(0,0,0,1);transition-property:bottom;transition-duration:.2s;transition-timing-function:cubic-bezier(0,0,0,1)}#wrapper.alert{bottom:70px}#wrapper.topalert{top:50px}#unsaved{background-color:#db143c;position:absolute;width:100%;min-height:50px;top:0;color:#fff;margin:0;box-shadow:inset 0 10px 0 0 rgba(0,0,0,0.2);font-weight:bold;border-radius:0}#message{background-color:#db143c;position:absolute;width:100%;height:70px;bottom:0;color:#fff;margin:0;box-shadow:inset 0 10px 0 0 rgba(0,0,0,0.2);font-weight:bold;border-radius:0}body ::-webkit-scrollbar{width:10px}.app ::-webkit-scrollbar-track,.app::-webkit-scrollbar-track,.app::-webkit-scrollbar-corner,.app::-webkit-scrollbar-corner{background:#f2f2f2}.app-dark::-webkit-scrollbar-track,.app-dark ::-webkit-scrollbar-track,.app-dark::-webkit-scrollbar-corner,.app-dark::-webkit-scrollbar-corner{background:#333}body ::-webkit-scrollbar-track{border:0;border-radius:10px}.app::-webkit-scrollbar-thumb,.app ::-webkit-scrollbar-thumb{background:#d2d2d2}.app-dark::-webkit-scrollbar-thumb,.app-dark ::-webkit-scrollbar-thumb{background:#505050}body ::-webkit-scrollbar-thumb{border:0;border-radius:10px}body ::-webkit-scrollbar-thumb:hover{background:#666}::-webkit-resizer{display:none}.app *{font-size:18px}#app small{font-size:12px;float:right;padding-bottom:10px}.app{background-color:#f2f2f2}#timer{width:0;background-color:#e91e63;height:4px;position:absolute;z-index:3}#app a{color:#db143c}#app button.red,.app-dark .red *{background-color:#db143c;color:#fff}#app button.green,.app-dark .green{border:3px solid #cddc39}#app button.silver,.app-dark .silver{border:3px solid #9e9e9e}.frame{padding:15px}.app input,.app textarea{background-color:#fbfbfb;color:#333;border:3px solid #fff;box-shadow:inset 0 10px 0 0 rgba(0,0,0,0.2)}input.optional{background-color:#e1e1e1}.app-dark [readonly="readonly"],.app-dark [readonly]{background:#2e2e2e;box-shadow:inset 0 0 0 0 rgba(0,0,0,0)}.app [readonly="readonly"],.app [readonly]{background:#eaeaea;box-shadow:inset 0 0 0 0 rgba(0,0,0,0)}.app-dark input:disabled,.app-dark textarea:disabled,.app-dark input:read-only,.app-dark textarea:read-only{background:#2e2e2e;box-shadow:inset 0 0 0 0 rgba(0,0,0,0.20)}.app input:disabled,.app textarea:disabled,.app input:read-only,.app textarea:read-only{background:#eaeaea;box-shadow:inset 0 0 0 0 rgba(0,0,0,0.20)}.app-dark button.btn:disabled{background-color:#2e2e2e}.app button.btn:disabled{background-color:#b0b0b0}.app .btn{background-color:#fff;color:#000;box-shadow:0 2px 0 rgba(0,0,0,0.24)}.app .btn:hover{background-color:#d8d8d8}.app .btn.list:hover{background-color:#6d6d6d;color:white}.app .btn.active{background-color:#6d6d6d;color:#fff}.app .btn.list{background-color:#fff;color:#333;box-shadow:0 2px 2px 0 rgba(0,0,0,0.16),0 0 2px 0 rgba(0,0,0,0.12)}.app .btn.list.active{background-color:#6d6d6d;color:#fff}.app #btn-new,.app #btn-new *{background-color:#db143c;color:#fff;box-shadow:0 0 0 rgba(0,0,0,0)}.app-dark #btn-new{background-color:#db143c;box-shadow:0 0 0 rgba(0,0,0,0)}.app-dark #btn-new *{color:#fff}.app-dark *{font-size:18px;color:#d0d0d0}.app-dark,.app-dark #nav,.app-dark #save,.app-dark #beforesave,.app-dark #detail,.app-dark #top,.app-dark #search,.app-dark #heading{background-color:#333}.app-dark #main{background-color:#333}.app-dark input,.app-dark textarea{background-color:#202020;border:3px solid #454545}.app-dark .btn{background-color:#505050;box-shadow:0 2px 0 rgba(0,0,0,0.24)}.app-dark .btn:hover{background-color:#606060}.app-dark .btn.active,.app-dark input.active{background-color:#ff9800;color:#000}.app .btn.active,.app input.active{background-color:#ff9800;color:#000}.app .card{background-color:#f2f2f2}.app-dark .card{background-color:#333}p{padding-top:0;padding-right:20px;padding-bottom:10px;padding-left:20px}.info p{padding-right:0;padding-left:0}#app .code{font-family:'Courier New',Courier,monospace;font-size:14px;margin:0 20px}span{display:inline-block;vertical-align:middle}span+span{margin-left:4px}.centered{text-align:center}.scroll{overflow-y:auto}.btn.hidden,.hidden{display:none}.btn.hidden.show{display:inline-block}.btn.hide{display:none}[class^="pos-"],[class*=" pos-"]{position:absolute;padding:10px}[class^="pos-"] [class^="pos-"],[class*=" pos-"] [class*=" pos-"],[class^="pos-"] [class*=" pos-"],[class*=" pos-"] [class^="pos-"]{padding:0}.details [class^="pos-"],.details [class*=" pos-"]{padding:0}.w150{width:100%;max-width:150px}.w160{width:100%;max-width:160px}.w170{width:100%;max-width:170px}.w180{width:100%;max-width:180px}.w200{width:100%;max-width:200px}.w220{width:100%;max-width:220px}.w250{width:100%;max-width:250px}.w300{width:100%;max-width:300px}.w350{width:100%;max-width:350px}.pos-l-l{left:0}.pos-l-r{left:100px;right:0}.pos-r-r{right:0}.pos-r-l{left:0;right:65px}#new-search{padding-right:65px;border:3px solid #db143c}.pos-m-m{margin:0 auto;position:relative;max-width:300px}.pos-0-0{left:0;right:0}.pos-null{padding:0}.row.ta-hight{min-height:215px}.row{min-height:60px;position:relative;float:left;width:100%}.narrow{min-height:10px;margin-top:-10px;position:relative;float:left;width:100%}.wi20,.wi40{bottom:0;top:0;border:0}.wi20{width:20%}.wi40{width:40%}.card{position:absolute;right:0}#nav,#search,#top,#heading,#main{background-color:#f2f2f2}#heading{position:absolute;top:0;height:80px}#nav,#main{top:80px}#top{width:100%;left:0;right:0;height:80px}#nav{width:20%;position:absolute;left:0}#main,#search{width:40%;position:absolute;left:20%}#login-bar{width:40%;position:absolute;left:60%;max-height:70px}#user{right:169px;position:absolute;top:26px}#detail{width:40%;position:absolute;right:0}.details{padding:10px;float:left;width:100%;padding-bottom:35px}#save{position:absolute;right:0;top:80px}#logo{padding-top:14px;text-align:center}.logo{font-family:Tahoma,Verdana,Segoe,sans-serif;font-size:25px;margin-bottom:-10px;margin-left:0}#logo .logo{font-size:30px;margin-bottom:-12px}.icon.icon-pp{width:45px;height:45px}#login-bar{text-align:right}#list{margin-left:75px;padding-bottom:50px}#abc,#list,#menu{position:absolute;top:0;bottom:0}#abc{max-width:80px;padding-right:5px;padding-bottom:50px;text-align:center}#abc .btn{min-width:40px;width:44px}#xbtn .btn,.btn.close{padding:0;min-width:40px;width:44px;float:right}.close.hide-on-desktop{min-width:100px}#form{top:0}#app .help{cursor:pointer;width:35px;float:left;margin-top:-3px;margin-bottom:-10px;opacity:.6;margin-left:-56px}#app .tooltip{background-color:#c3d136;clear:left;margin-top:3px;margin-bottom:-12px;padding-top:5px;color:#000;padding-bottom:10px}#app.app-dark .tooltip{background-color:#1a1a1a}#app.app .tooltip{background-color:#ccc}#app.app label{background-color:#fff;color:#000}#app.app-dark label{background-color:#454545;color:#d0d0d0}#app.app-dark .info{background-color:#2e2e2e;color:#d0d0d0;border:6px solid #454545}#app .info{box-shadow:inset 0 2px 2px 0 rgba(0,0,0,0.16),inset 0 0 2px 0 rgba(0,0,0,0.12);border:6px solid #fff;background-color:#f2f2f2;min-height:30px;color:#444;margin-bottom:10px;padding:14px;border-radius:25px;border-bottom-right-radius:0;overflow:hidden}.padded{padding:14px}#app #menu label{margin-bottom:-20px}#app h1{color:gray;padding-bottom:10px;font-size:21px;margin-bottom:12px;border-bottom:5px solid #cddc39}#app .details h1{margin-right:60px}h2{display:block;padding:5px;font-size:10pt;color:#585858}h3{display:block;padding:5px;font-size:12pt;padding:20px;font-weight:bold;color:#585858}#app mark{background-color:#8bc34a;color:#000}.app-dark .pl{color:#80deea}.app .pl{color:#3f51b5}#app .error,#app.app-dark .error{background-color:#a52a2a}#app label{background-color:#6d6d6d;color:#fff;border-radius:10px;width:auto;padding:22px 17px;padding-top:5px;cursor:text;margin-bottom:-22px;margin-left:19px;margin-right:60px;position:relative;float:left}#menu label{margin-right:0}#modal{z-index:1}.card.modal{position:fixed;width:100%;height:100%;top:0}.app .modal{background-color:rgba(0,0,0,0.9)}.app-dark .modal{background-color:rgba(0,0,0,0.9)}.app-dark .modal-box{background-color:#333;color:#fff}.app .modal-box{background-color:#f2f2f2;color:#000}.modal-box.confirm{top:24%;position:relative;max-width:320px;overflow:auto}.modal-box.wide{max-width:800px}iframe.modal-box{height:100%}#iframe_container{position:absolute;width:100%;top:70px;bottom:20px}.modal-box{display:block;margin:0 auto;width:100%;max-width:470px;padding:15px;border:0;border-style:none;border-radius:35px}#logincard,#editcard,#gears,#offlinedecrypt{position:absolute;width:100%;height:100%;top:0;overflow:auto;z-index:1}.card.logon,.card.fields,#gears .card{position:relative;display:block;margin:0 auto;width:100%;max-width:470px;padding:15px;border:0;border-style:none;border-radius:35px;overflow:auto;top:70px}.title{font-family:Tahoma,Verdana,Segoe,sans-serif;font-size:30px}#detail .title{font-size:22px}.icon.big{width:65px;height:55px;float:left;margin-left:-9px}.icon.warning *{color:#db143c}input,textarea,.btn{min-height:45px;border:0;border-radius:25px;outline:0;width:100%;min-width:110px;display:inline-block;margin:4px 0;padding-right:15px;padding-left:15px;padding-bottom:2px;text-decoration:none;-webkit-tap-highlight-color:transparent}input#acctype{max-width:220px;background-color:#ffffff00;border:0;box-shadow:none;min-height:auto;padding:0;margin:0;border-radius:0}.btn,#menu-logo,#main-logo{cursor:pointer}.row.slim{min-height:45px}.btn.slim{min-height:35px}.badge{width:45px;min-width:45px;background-image:url(poland.svg)}#app .btn:focus,#app input:focus{border-radius:5px}input{float:left}input,textarea{-webkit-appearance:none;box-shadow:inset 0 10px 0 0 rgba(0,0,0,0.2)}textarea{min-height:200px;padding-top:10px;padding-bottom:10px}.min-h-100{min-height:100px}.min-h-120{min-height:120px}.heading{padding-top:9px;margin:0 auto;padding-left:10px;width:180px}#btn-login-main{padding-left:6px;padding-right:8px}.reset,.peek,.copy,.edit,.remove{opacity:.5;position:absolute;right:0;cursor:pointer;border-radius:15px;padding:10px 0}.peek{right:-35px}.edit{right:-35px}.remove{right:-35px}#fields .btn.add,#fields .btn.add *{background-color:#db143c;box-shadow:0 0 0 rgba(0,0,0,0);color:#fff}#new_prop_name{padding-right:65px;border:3px solid #db143c}.copy{right:-70px}.pos-l-icon{left:0;right:35px;padding:0}.pos-l-icon-2{left:0;right:70px;padding:0}.pos-l-icon-2 .peek{right:-70px}.peek._off svg:nth-child(2){display:none}.peek:not(._off) svg:nth-child(1){display:none}.edit._off svg:nth-child(2){display:none}.edit:not(._off) svg:nth-child(1){display:none}.icon{vertical-align:text-bottom;width:34px;height:34px;fill:currentColor}.show{display:block}@media(max-width:1200px){#top{height:130px}#main{top:130px}#abc,#list,#save{position:absolute;top:0;bottom:0}#main,#search{width:100%;left:0}#nav,#detail,#save{top:70px;width:100%;left:0}.card{top:70px;width:100%;left:0;z-index:1;display:none}.show{display:block}.hide-on-tablet{display:none;width:0;height:0}.hide-on-desktop{display:block}.hidden.hide-on-desktop{display:none}.show.hide-on-desktop{display:block}#app .details h1{margin-right:0}}@media(min-width:1200px){.hide-on-desktop{display:none}}@media(max-width:430px){.hide-on-mobile{display:none;width:0;height:0}}#gearwrap{position:relative;width:140px;height:140px;margin:0 auto;margin-top:80px;color:#fff;border-radius:80px;background-color:#db143c;cursor:pointer}.app #gearwrap{background-color:#cddc39}.gear{width:80px;height:80px;background-size:80px auto;background-repeat:no-repeat;animation:rotate 1.5s linear infinite;-webkit-animation:rotate 1.5s linear infinite;position:absolute;top:9px;left:9px}.gear.gearsmall{width:80px;height:80px;background-size:80px auto;animation:rotate 1.5s linear infinite reverse;-webkit-animation:rotate 1.5s linear infinite reverse;position:absolute;top:51px;left:51px;opacity:.7}@-webkit-keyframes rotate{from{-webkit-transform:rotate(0)}to{-webkit-transform:rotate(359deg)}}@keyframes rotate{from{transform:rotate(0)}to{transform:rotate(359deg)}}.photo{border-radius:60px;width:80px;height:auto;float:left;margin-right:10px}meter{padding-left:20px;padding-right:70px;width:100%;height:20px;background:0}meter::-webkit-meter-bar{background:0}meter[value="0"]::-webkit-meter-optimum-value,meter[value="1"]::-webkit-meter-optimum-value{background:black}meter[value="2"]::-webkit-meter-optimum-value{background:red}meter[value="3"]::-webkit-meter-optimum-value{background:orange}meter[value="4"]::-webkit-meter-optimum-value{background:yellow}meter[value="5"]::-webkit-meter-optimum-value{background:lime}meter[value="1"]::-moz-meter-bar,meter[value="1"]::-moz-meter-bar{background:red}meter[value="2"]::-moz-meter-bar{background:orange}meter[value="3"]::-moz-meter-bar{background:yellow}meter[value="4"]::-moz-meter-bar{background:lime}meter[value="5"]::-moz-meter-bar{background:green}meter::-webkit-meter-optimum-value{transition:width .4s ease-out} </style>
<svg display="none" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<defs>
<symbol id="icon-copy" viewBox="0 0 24 24">
<title>Copy</title>
<path d="M0 0h24v24H0z" fill="none"></path>
<path d="M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12V1zm3 4H8c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"></path>
</symbol>
</defs>
</svg>
<svg display="none" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<defs>
<symbol id="icon-undo" viewBox="0 0 24 24">
<title>Undo</title>
<path d="M0 0h24v24H0z" fill="none"></path>
<path d="M12.5 8c-2.65 0-5.05.99-6.9 2.6L2 7v9h9l-3.62-3.62c1.39-1.16 3.16-1.88 5.12-1.88 3.54 0 6.55 2.31 7.6 5.5l2.37-.78C21.08 11.03 17.15 8 12.5 8z"></path>
</symbol>
</defs>
</svg>
<svg display="none" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<defs>
<symbol id="icon-cross" viewBox="0 0 24 24">
<title>Close</title>
<path d="M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"></path>
</symbol>
</defs>
</svg>
<svg display="none" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<symbol id="icon-pp" viewBox="0 0 24 24">
<title>PassPilot</title>
<path d="M0 0h24v24H0z" fill="none"></path>
<path d="m12 0a7.64 7.64 0 0 0-7.64 7.64h-0.464c-0.952 0-1.72 0.766-1.72 1.72v12.9c0 0.952 0.766 1.72 1.72 1.72h16.2c0.952 0 1.72-0.766 1.72-1.72v-12.9c0-0.952-0.766-1.72-1.72-1.72h-0.464a7.64 7.64 0 0 0-7.64-7.64zm0 2.95a4.69 4.69 0 0 1 4.69 4.69h-9.37a4.69 4.69 0 0 1 4.69-4.69zm-8.22 7.3h3.6c1.37 0 2.26 0.0524 2.68 0.164 0.639 0.167 1.18 0.544 1.62 1.1 0.431 0.56 0.655 1.28 0.655 2.17 0 0.685-0.14 1.25-0.389 1.72-0.249 0.467-0.558 0.838-0.941 1.1-0.383 0.266-0.77 0.445-1.17 0.532-0.279 0.055-0.631 0.0958-1.04 0.122v4.21h-2.23v-6.07h0.696c0.887 0 1.48-0.0467 1.78-0.164 0.299-0.117 0.546-0.304 0.716-0.552 0.17-0.249 0.246-0.53 0.246-0.859 0-0.406-0.11-0.739-0.348-1-0.238-0.264-0.535-0.445-0.9-0.511-0.269-0.0526-0.805-0.0609-1.62-0.0609h-1.1zm7.79 0h3.6c1.37 0 2.26 0.0524 2.68 0.164 0.639 0.167 1.18 0.544 1.62 1.1 0.431 0.56 0.655 1.28 0.655 2.17 0 0.685-0.14 1.25-0.389 1.72-0.248 0.467-0.558 0.838-0.941 1.1-0.383 0.266-0.77 0.445-1.17 0.532-0.279 0.055-0.631 0.0958-1.04 0.122v4.21h-2.23v-6.07h0.696c0.887 0 1.48-0.0467 1.78-0.164 0.299-0.117 0.546-0.304 0.716-0.552 0.17-0.249 0.246-0.53 0.246-0.859 0-0.406-0.109-0.739-0.348-1-0.238-0.264-0.556-0.445-0.921-0.511-0.269-0.0526-0.804-0.0609-1.62-0.0609h-1.08z" fill-rule="evenodd"></path>
</symbol>
</svg>
<svg display="none" xmlns="https://www.w3.org/2000/svg" aria-hidden="true" focusable="false">
<defs>
<symbol id="icon-eye" viewBox="0 0 24 24">
<title>View</title>
<path d="M12,7c-2.48,0-4.5,2.02-4.5,4.5S9.52,16,12,16s4.5-2.02,4.5-4.5S14.48,7,12,7z M12,14.2c-1.49,0-2.7-1.21-2.7-2.7 c0-1.49,1.21-2.7,2.7-2.7s2.7,1.21,2.7,2.7C14.7,12.99,13.49,14.2,12,14.2z">
</path>
<path d="M12,4C7,4,2.73,7.11,1,11.5C2.73,15.89,7,19,12,19s9.27-3.11,11-7.5C21.27,7.11,17,4,12,4z M12,17 c-3.79,0-7.17-2.13-8.82-5.5C4.83,8.13,8.21,6,12,6s7.17,2.13,8.82,5.5C19.17,14.87,15.79,17,12,17z">
</path>
<path fill="none" d="M0,0h24v24H0V0z"></path>
</symbol>
</defs>
</svg>
<svg display="none" xmlns="https://www.w3.org/2000/svg" aria-hidden="true" focusable="false">
<defs>
<symbol id="icon-eyeclosed" viewBox="0 0 24 24">
<title>View</title>
<path d="M10.58,7.25l1.56,1.56c1.38,0.07,2.47,1.17,2.54,2.54l1.56,1.56C16.4,12.47,16.5,12,16.5,11.5C16.5,9.02,14.48,7,12,7 C11.5,7,11.03,7.1,10.58,7.25z">
</path>
<path d="M12,6c3.79,0,7.17,2.13,8.82,5.5c-0.64,1.32-1.56,2.44-2.66,3.33l1.42,1.42c1.51-1.26,2.7-2.89,3.43-4.74 C21.27,7.11,17,4,12,4c-1.4,0-2.73,0.25-3.98,0.7L9.63,6.3C10.4,6.12,11.19,6,12,6z">
</path>
<path d="M16.43,15.93l-1.25-1.25l-1.27-1.27l-3.82-3.82L8.82,8.32L7.57,7.07L6.09,5.59L3.31,2.81L1.89,4.22l2.53,2.53 C2.92,8.02,1.73,9.64,1,11.5C2.73,15.89,7,19,12,19c1.4,0,2.73-0.25,3.98-0.7l4.3,4.3l1.41-1.41l-3.78-3.78L16.43,15.93z M11.86,14.19c-1.38-0.07-2.47-1.17-2.54-2.54L11.86,14.19z M12,17c-3.79,0-7.17-2.13-8.82-5.5c0.64-1.32,1.56-2.44,2.66-3.33 l1.91,1.91C7.6,10.53,7.5,11,7.5,11.5c0,2.48,2.02,4.5,4.5,4.5c0.5,0,0.97-0.1,1.42-0.25l0.95,0.95C13.6,16.88,12.81,17,12,17z">
</path>
</symbol>
</defs>
</svg>
<svg display="none" xmlns="https://www.w3.org/2000/svg" aria-hidden="true" focusable="false">
<defs>
<symbol id="icon-help" viewBox="0 0 24 24">
<title>Help</title>
<path d="M11 18h2v-2h-2v2zm1-16C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8zm0-14c-2.21 0-4 1.79-4 4h2c0-1.1.9-2 2-2s2 .9 2 2c0 2-3 1.75-3 5h2c0-2.25 3-2.5 3-5 0-2.21-1.79-4-4-4z"></path>
</symbol>
</defs>
</svg>
<svg display="none" xmlns="https://www.w3.org/2000/svg" aria-hidden="true" focusable="false">
<defs>
<symbol id="icon-gear" viewBox="0 0 24 24">
<title>Settings</title>
<path d="M0 0h24v24H0z" fill="none"></path>
<path d="M19.43 12.98c.04-.32.07-.64.07-.98s-.03-.66-.07-.98l2.11-1.65c.19-.15.24-.42.12-.64l-2-3.46c-.12-.22-.39-.3-.61-.22l-2.49 1c-.52-.4-1.08-.73-1.69-.98l-.38-2.65C14.46 2.18 14.25 2 14 2h-4c-.25 0-.46.18-.49.42l-.38 2.65c-.61.25-1.17.59-1.69.98l-2.49-1c-.23-.09-.49 0-.61.22l-2 3.46c-.13.22-.07.49.12.64l2.11 1.65c-.04.32-.07.65-.07.98s.03.66.07.98l-2.11 1.65c-.19.15-.24.42-.12.64l2 3.46c.12.22.39.3.61.22l2.49-1c.52.4 1.08.73 1.69.98l.38 2.65c.03.24.24.42.49.42h4c.25 0 .46-.18.49-.42l.38-2.65c.61-.25 1.17-.59 1.69-.98l2.49 1c.23.09.49 0 .61-.22l2-3.46c.12-.22.07-.49-.12-.64l-2.11-1.65zM12 15.5c-1.93 0-3.5-1.57-3.5-3.5s1.57-3.5 3.5-3.5 3.5 1.57 3.5 3.5-1.57 3.5-3.5 3.5z"></path>
</symbol>
</defs>
</svg>
<svg display="none" xmlns="https://www.w3.org/2000/svg" aria-hidden="true" focusable="false">
<defs>
<symbol id="icon-list" viewBox="0 0 24 24">
<title>List</title>
<path d="M0 0h24v24H0z" fill="none"></path>
<path d="M19 5v14H5V5h14m1.1-2H3.9c-.5 0-.9.4-.9.9v16.2c0 .4.4.9.9.9h16.2c.4 0 .9-.5.9-.9V3.9c0-.5-.5-.9-.9-.9zM11 7h6v2h-6V7zm0 4h6v2h-6v-2zm0 4h6v2h-6zM7 7h2v2H7zm0 4h2v2H7zm0 4h2v2H7z"></path>
</symbol>
</defs>
</svg>
<svg display="none" xmlns="https://www.w3.org/2000/svg" aria-hidden="true" focusable="false">
<defs>
<symbol id="icon-list-add" viewBox="0 0 24 24">
<title>Add to list</title>
<path d="M0 0h24v24H0z" fill="none"></path>
<path d="M14 10H2v2h12v-2zm0-4H2v2h12V6zm4 8v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zM2 16h8v-2H2v2z"></path>
</symbol>
</defs>
</svg>
<svg display="none" xmlns="https://www.w3.org/2000/svg" aria-hidden="true" focusable="false">
<defs>
<symbol id="icon-login" viewBox="0 0 24 24">
<title>Login</title>
<g>
<rect fill="none" height="24" width="24"></rect>
</g>
<g>
<path d="M11,7L9.6,8.4l2.6,2.6H2v2h10.2l-2.6,2.6L11,17l5-5L11,7z M20,19h-8v2h8c1.1,0,2-0.9,2-2V5c0-1.1-0.9-2-2-2h-8v2h8V19z"></path>
</g>
</symbol>
</defs>
</svg>
<svg display="none" xmlns="https://www.w3.org/2000/svg" aria-hidden="true" focusable="false">
<defs>
<symbol id="icon-user" viewBox="0 0 24 24">
<title>User</title>
<path d="M0 0h24v24H0z" fill="none"></path>
<path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 3c1.66 0 3 1.34 3 3s-1.34 3-3 3-3-1.34-3-3 1.34-3 3-3zm0 14.2c-2.5 0-4.71-1.28-6-3.22.03-1.99 4-3.08 6-3.08 1.99 0 5.97 1.09 6 3.08-1.29 1.94-3.5 3.22-6 3.22z"></path>
</symbol>
</defs>
</svg>
<svg display="none" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<symbol id="icon-plus" viewBox="0 0 24 24">
<title>Add</title>
<path d="M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"></path>
</symbol>
</svg>
<svg display="none" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<symbol id="icon-save" viewBox="0 0 24 24">
<title>Save</title>
<path d="M17 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V7l-4-4zm-5 16c-1.66 0-3-1.34-3-3s1.34-3 3-3 3 1.34 3 3-1.34 3-3 3zm3-10H5V5h10v4z"></path>
</symbol>
</svg>
<svg display="none" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<symbol id="icon-home" viewBox="0 0 24 24">
<title>Home</title>
<path d="M10 20v-6h4v6h5v-8h3L12 3 2 12h3v8z"></path>
</symbol>
</svg>
<svg display="none" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<symbol id="icon-menu" viewBox="0 0 24 24">
<title>Menu</title>
<path d="M3 18h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z"></path>
</symbol>
</svg>
<svg display="none" xmlns="https://www.w3.org/2000/svg" aria-hidden="true" focusable="false">
<defs>
<symbol id="icon-warning" viewBox="0 0 24 24">
<title>Warning</title>
<path d="M0 0h24v24H0V0z" fill="none"></path>
<path d="M11 15h2v2h-2zm0-8h2v6h-2zm.99-5C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z"></path>
</symbol>
</defs>
</svg>
<svg display="none" xmlns="https://www.w3.org/2000/svg" aria-hidden="true" focusable="false">
<defs>
<symbol id="icon-edit" viewBox="0 0 24 24">
<title>Edit</title>
<path d="M0 0h24v24H0z" fill="none"></path>
<path d="M3 17.25V21h3.75L17.81 9.94l-3.75-3.75L3 17.25zM20.71 7.04c.39-.39.39-1.02 0-1.41l-2.34-2.34c-.39-.39-1.02-.39-1.41 0l-1.83 1.83 3.75 3.75 1.83-1.83z"></path>
</symbol>
</defs>
</svg>
<svg display="none" xmlns="https://www.w3.org/2000/svg" aria-hidden="true" focusable="false">
<defs>
<symbol id="icon-noedit" viewBox="0 0 24 24">
<title>Edit</title>
<path d="M0 0h24v24H0zm0 0h24v24H0z" fill="none"></path>
<path d="M12.126 8.125l1.937-1.937 3.747 3.747-1.937 1.938zM20.71 5.63l-2.34-2.34a1 1 0 0 0-1.41 0l-1.83 1.83 3.75 3.75L20.71 7a1 1 0 0 0 0-1.37zM2 5l6.63 6.63L3 17.25V21h3.75l5.63-5.62L18 21l2-2L4 3 2 5z"></path>
</symbol>
</defs>
</svg>
<svg display="none" xmlns="https://www.w3.org/2000/svg" aria-hidden="true" focusable="false">
<defs>
<symbol id="icon-delete" viewBox="0 0 24 24">
<title>Delete</title>
<path d="M0 0h24v24H0z" fill="none"></path>
<path d="M0 0h24v24H0V0z" fill="none"></path>
<path d="M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6v12zm2.46-7.12l1.41-1.41L12 12.59l2.12-2.12 1.41 1.41L13.41 14l2.12 2.12-1.41 1.41L12 15.41l-2.12 2.12-1.41-1.41L10.59 14l-2.13-2.12zM15.5 4l-1-1h-5l-1 1H5v2h14V4z"></path>
</symbol>
</defs>
</svg>
<div id="app" class="app-dark">
<div id="timer" style="width: 0%;"></div>
<button id="unsaved" class="btn" data-t="unsaved" onclick="showGears(gosave, event)">Remember to save changes</button>
<button id="message" class="btn"></button>
<div id="wrapper" class="dummy">
<!-- top begin-->
<div id="top" class="dummy">
<div id="version" style="
width: 48px;
top: 4px;
color: white;
position: absolute;
font-weight: bold;
background-color: #ff2948;
padding-left: 4px;
padding-bottom: 4px;
font-size: 16px;">βeta v1.7</div>
<div id="logo" class="hide-on-mobile hide-on-tablet wi20">
<div class="">
<span>
<svg class="icon icon-pp">
<use xlink:href="#icon-pp"></use>
</svg></span><span class="hide-on-mobile logo">PassPilot</span>
</div>
</div>
<div id="search" class="wi40">
<div class="row hide-on-desktop">
<div class="pos-0-0 centered">
<div id="main-logo" class="heading">
<span>
<svg class="icon">
<use xlink:href="#icon-pp"></use>
</svg>
</span><span class="hide-on-mobile logo">PassPilot</span>
</div>
</div>
<div class="pos-r-r w150">
<button id="menu-button" class="btn hide-on-desktop">
<span><svg class="icon icon-list">
<use xlink:href="#icon-menu"></use>
</svg>
</span><span>Menu</span>
</button>
<button id="close-nav-button" class="btn hide-on-desktop hidden">
<span><svg class="icon">
<use xlink:href="#icon-list"></use>
</svg>
</span><span data-t="list">List</span>
</button>
</div>
<div class="pos-l-l w160">
<button id="btn-login-main" class="btn silver hidden" data-login="">
<span><svg class="icon">
<use xlink:href="#icon-login"></use>
</svg>
</span><span data-t="login">Login</span>
</button>
<button id="btn-save-main" class="btn hide-on-desktop" onclick="showGears(gosave, event)">
<span><svg class="icon icon-list">
<use xlink:href="#icon-save"></use>
</svg>
</span><span data-t="save">Save</span>
</button>
</div>
</div>
<div class="row">
<form autocomplete="off">
<div class="pos-r-l">
<div class="row">
<input id="new-search" name="new/search" type="text" data-tp="newsearch" autocorrect="off" autocapitalize="off" autocomplete="off" class="dummy" placeholder="Name/Search" data-icons="true">
</div>
</div>
<div class="pos-r-r w150">
<button id="btn-new" class="btn">
<span><svg class="icon">
<use xlink:href="#icon-list-add"></use>
</svg>
</span><span data-t="add">Add</span>
</button>
</div>
</form>
</div>
</div>
</div>
<!-- top end-->
<div id="nav" class="card scroll wi20">
<div id="menu" class="row ">
<div class="pos-m-m">
<div id="menu-online" class="hidden">
<label data-t="online">Online</label>
<div class="row info">
<button id="btn-login-card" class="btn silver hide-on-tablet hidden" data-login="">
<span>
<svg class="icon">
<use xlink:href="#icon-login"></use>
</svg>
</span><span data-t="login">Login</span>
</button>
<button id="btn-save-online" class="hidden" onclick="showGears(gosave, event)" data-t="saveall">Save All</button>
<button id="btn-register" class="btn" onclick="prepareFrame('\/register')" data-t="register">New account</button>
<button id="btn-about" onclick="prepareFrame('\/faq','wide')" class="btn" data-t="faq">FAQ</button>
<button id="btn-contact" onclick="prepareFrame('\/contact')" class="btn" data-t="contact">Report issue</button>
<button id="btn-welcome" onclick="prepareFrame('\/welcome', 'wide')" class="btn" data-t="welcome">Welcome screen</button>
</div>
</div>
<label class="" data-t="offline">Offline</label>
<div id="menu-offline" class="row info">
<button id="btn-save-offline" data-ev="save_offline" class="btn silver" data-t="savefile">Save to file</button>
<button id="btn-settings" data-ev="settings" data-t="settings" class="btn">Settings</button>
<button id="btn-theme" class="btn" onclick="setTheme('app')" data-t="theme">Theme</button>
<button id="btn-under" data-ev="under" class="btn" data-t="under">Advanced</button>
<button id="btn-htf" data-ev="howtofile" class="btn" data-t="htf">How to use this file?</button>
</div>
<div class="row info centered">
<a href="#" onclick="ls_switch();" data-t="lang">POLSKI</a>
</div>
<div class="row info centered">
<a href="https://www.paypal.com/donate?hosted_button_id=Q3GBEYXDV4PF4&source=url" target="_new" class="" data-t="donate">Support the author</a>
</div>
<div id="www" class="row info centered">
Copyright ©2021<br><a href="https://www.passpilot.com" target="_new" class="">passpilot.com</a>
</div>
<div class="row info centered">
<a href="https://www.passpilot.com/terms.pdf" target="_new" class="" data-t="terms">Terms & Conditions<br>Privacy Policy</a>
</div>
<div class="row centered">
</div>
</div>
</div>
</div>
<!-- nav end -->
<!-- there cannot be any characters nor line braks here inside the list div -->
<div id="main" class="wi40">
<div id="list" class="scroll pos-0-0"></div>
<div id="abc" class="scroll pos-0-0"></div>
</div>
<!-- main end -->
<!-- detail start -->
<div id="detail" class="card scroll hidden wi40"></div>
<!-- detail end -->
<!-- howtofile begin -->
<div id="howtofile" class="card scroll wi40 hidden show" data-classes="card scroll wi40 hidden">
<div class="pos-0-0">
<div class="row info">
<svg class="icon big">
<use xlink:href="#icon-pp"></use>
</svg>
<div class="title">PassPilot</div>
<h1 data-t="htf">How to use this file?</h1>
<span data-t="htf_info">You will have the best experience while using this file on a laptop or desktop computer in a modern internet browser.</span>
</div>
<label data-t="htf_p5_label">How to use the application offline?</label>
<div class="row info" data-t="htf_p5_text">To add new record, enter the record name in the top input field and click "Add". To save your records click "Save to file" then enter a strong password and save everything to a new file, you can overwrite the existing file if you want or save a copy in new place. Check our FAQ page for more information about the application <a href="https://www.passpilot.com/#/faq" target="_new">http://www.passpilot.com/#/faq</a></div>
<label data-t="htf_p1_label">How to decrypt content of this file?</label>
<div class="row info" data-t="htf_p1_text"><p>If the file was saved together with encrypted vault data you can refresh the page and enter your passphrase in the popup window or go to the "Advanced" tab, type your password in the "Passphrase" field and click the "Decrypt" button on that page</p></div>
<label data-t="htf_p2_label">File doesn't work on Apple device?</label>
<div class="row info" data-t="htf_p2_text"><p>If you are using an iPhone this file will not work in a "preview" mode<br>you have to open it via a browser or other program that can run JavaScript either on your phone or desktop. Best is to use the offline file on your desktop or laptop.</p></div>
<label data-t="htf_p3_label">How to check for updates?</label>
<div class="row info" data-t="htf_p3_text">You can visit our website <a href="https://www.passpilot.com" target="_new">www.passpilot.com</a> from time to time and check if new version is available, we are constantly improving the application.</div>
<label data-t="htf_p4_label">How to contact us?</label>
<div class="row info" data-t="htf_p4_text">In case of questions contact us using the online form <a href="https://www.passpilot.com/#/contact" target="_new">http://www.passpilot.com/#/contact</a> or send an email to <a href="mailto:[email protected]">[email protected]</a></div>
</div> </div>
<!-- howtofile end -->
<!-- profile begin -->
<div id="profile" class="card scroll wi40 hidden">
<div class="pos-0-0">
<div class="row info">
<svg class="icon big">
<use xlink:href="#icon-user"></use>
</svg>
<div class="title">PassPilot</div>
<input id="acctype" autocapitalize="off" autocorrect="off" autocomplete="off" data-icons="true">
<div class="row">
<h1></h1>
<span data-t="profile-info">Use this page to manage your profile</span>
</div>
</div>
<div class="row ">
<div class="">
<button id="btn-logout" class="btn red">
<span>
<svg class="icon">
<use xlink:href="#icon-login"></use>
</svg>
</span>
<span data-t="logout">Logout</span>
</button>
</div>
</div>
<div class="row info">
<label class="" data-t="email">Email address</label>
<div class="row">
<input id="profile_email" name="email" class="" type="text" readonly="" autocapitalize="off" autocorrect="off" autocomplete="off" data-icons="true">
</div>
<div class="row slim">
<div class="pos-r-r w350">
<button id="btn-passchange" data-t="pass-change" class="btn slim">Change passphrase</button>
</div>
</div>
<div class="row slim">
<div class="pos-r-r w250">
<button id="btn-emailchange" data-t="email-change" class="btn slim">Change email</button>
</div>
</div>
</div>
<label class="" data-t="vault_size">Vault size</label>
<div class="row info">
<div class="">
<p data-t="vault_limit">Current limit of characters in encrypted text is 100,000 (hundred thousand characters) for standard account, and 1,000,000 for premium account. Remember, there is no limit if you are saving to file.</p>
</div>
<label class="" data-t="vault_size">Vault size</label>
<div class="row ">
<input id="vault_size" name="vaul tsize" class="" type="text" readonly="" autocapitalize="off" autocorrect="off" autocomplete="off" data-icons="true">
</div>
</div>
<label class="" data-t="log">Last Login</label>
<div class="row info">
<label class="" data-t="log_success">Last successful login</label>
<div class="row">
<input id="log_success" class="" type="text" autocapitalize="off" autocorrect="off" autocomplete="off" data-icons="true">
</div>
<label class="" data-t="log_fail">Last failed attempt</label>
<div class="row">
<input id="log_fail" class="" type="text" autocapitalize="off" autocorrect="off" autocomplete="off" data-icons="true">
</div>
</div>
<label class="" data-t="deactivate">Remove account</label>
<div class="row info">
<p data-t="deactivate-info">If you don't have your deletion code, submit your email on the <a href="/#/register" target="_top">registration form</a> again to receive the code. Your vault will be sent to you in the confirmation email just before your account gets deleted as your last backup.</p>
<div class="row slim">
<div class="pos-l-l w250">
<button class="btn slim" onclick="prepareFrame('\/resign')" data-t="deactivate">Remove account</button>
</div>
</div>
</div>
</div> </div>
<!-- profile end -->
<!-- passphrase change begin -->
<div id="passphrase_change" class="card scroll wi40 hidden">
<div class="row">
<div class="pos-0-0">
<div class="row info">
<svg class="icon big">
<use xlink:href="#icon-pp"></use>
</svg>
<div class="title">PassPilot</div>
<h1 data-t="pass-change">Change passphrase</h1>
<span data-t="pass-change-info">Passphrase change</span>
</div>
<label class="" data-t="email">Email address</label>
<div class="help" onclick="toggle(null, null, this.nextSibling);"><div><svg class="icon"><use xlink:href="#icon-help"></use></svg></div></div><label class="tooltip hidden" data-t="emailtip">E-mail address used during registration</label>
<div class="row">
<input id="passchange_email" name="email" class="" type="text" pattern="^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$" required="" title="provide a valid email address" autocorrect="off" autocapitalize="off" autocomplete="off" data-icons="true">
</div>
<label class="" data-t="old-passphrase">Old passphrase</label>
<div class="help" onclick="toggle(null, null, this.nextSibling);"><div><svg class="icon"><use xlink:href="#icon-help"></use></svg></div></div><label class="tooltip hidden" data-t="passphrasetip">Passphrase must be very strong for that reason the required length is over 20 characters</label>
<div class="row">
<div class="pos-l-icon">
<div class="peek" onclick="peekInput(event);"><svg class="icon"><use xlink:href="#icon-eyeclosed"></use></svg><svg class="icon"><use xlink:href="#icon-eye"></use></svg></div><input id="passchange_passphrase" class="" type="password" placeholder="" pattern=".{20,}" title="minimum 20 characters" required="" autocorrect="off" autocapitalize="off" autocomplete="off" data-icons="true">
</div>
</div>
<label class="" data-t="new-passphrase">New passphrase</label>
<div class="help" onclick="toggle(null, null, this.nextSibling);"><div><svg class="icon"><use xlink:href="#icon-help"></use></svg></div></div><label class="tooltip hidden" data-t="passphrasetip">Passphrase must be very strong for that reason the required length is over 20 characters</label>
<div class="row">
<div class="pos-l-icon">
<div class="peek" onclick="peekInput(event);"><svg class="icon"><use xlink:href="#icon-eyeclosed"></use></svg><svg class="icon"><use xlink:href="#icon-eye"></use></svg></div><input id="passchange_passphrase2" class="" type="password" placeholder="" pattern=".{20,}" title="minimum 20 characters" required="" autocorrect="off" autocapitalize="off" autocomplete="off" data-icons="true">
</div>
</div>
<div class="narrow">
<meter id="ppm3" max="5" value="0"></meter>
<p id="ppp3"></p>
</div>
<label class="" data-t="new-passphrase-confirm">Repeat new passphrase</label>
<div class="help" onclick="toggle(null, null, this.nextSibling);"><div><svg class="icon"><use xlink:href="#icon-help"></use></svg></div></div><label class="tooltip hidden" data-t="passphrasetip">Passphrase must be very strong for that reason the required length is over 20 characters</label>
<div class="row">
<div class="pos-l-icon">
<div class="peek" onclick="peekInput(event);"><svg class="icon"><use xlink:href="#icon-eyeclosed"></use></svg><svg class="icon"><use xlink:href="#icon-eye"></use></svg></div><input id="passchange_passphrase3" class="" type="password" placeholder="" pattern=".{20,}" title="minimum 20 characters" required="" autocorrect="off" autocapitalize="off" autocomplete="off" data-icons="true">
</div>
</div>
<div class="row">
<div class="pos-l-l">
<button type="submit" class="btn" onclick="showGears(change_passphrase, event)" data-t="pass-change">Change passphrase</button>
</div>
</div>
</div>
</div>
</div>
<!-- passphrase change end -->
<!-- passphrase change begin -->
<div id="email_change" class="card scroll wi40 hidden">
<div class="row">
<div class="pos-0-0">
<div class="row info">
<svg class="icon big">
<use xlink:href="#icon-pp"></use>
</svg>
<div class="title">PassPilot</div>
<h1 data-t="email-change">Change email</h1>
<span data-t="email-change-info">Change login email</span>
</div>
<label class="" data-t="new-email">New email address</label>
<div class="help" onclick="toggle(null, null, this.nextSibling);"><div><svg class="icon"><use xlink:href="#icon-help"></use></svg></div></div><label class="tooltip hidden" data-t="emailchangetip2">New email address</label>
<div class="row">
<input id="emailchange_email2" name="email" class="" type="text" pattern="^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$" required="" title="provide a valid email address" autocorrect="off" autocapitalize="off" autocomplete="off" data-icons="true">
</div>
<input id="emailchange_passphrase" class="" type="hidden" placeholder="" pattern=".{20,}" title="minimum 20 characters" required="" autocorrect="off" autocapitalize="off" autocomplete="off" data-icons="true">
<div class="row">
<div class="pos-l-l">
<button type="submit" class="btn" onclick="showGears(change_email, event)" data-t="email-change">Change email</button>
</div>
</div>
</div>
</div>
</div>
<!-- passphrase change end -->
<!-- under begin -->
<div id="under" class="card scroll wi40 hidden">
<div class="pos-0-0">
<div class="row info">
<svg class="icon big warning">
<use xlink:href="#icon-warning"></use>
</svg>
<div class="title">PassPilot</div>
<h1 data-t="under">Advanced</h1>
<span data-t="under-card-info">Only if you know what you are doing<br> Here you can decrypt saved information, you can also use this page to encrypt/decrypt any text of your choice</span>
</div>
<div class="row info">
<label class="" data-t="passphrase">Passphrase</label>
<div class="row">
<div class="pos-l-icon">
<div class="peek" onclick="peekInput(event);"><svg class="icon"><use xlink:href="#icon-eyeclosed"></use></svg><svg class="icon"><use xlink:href="#icon-eye"></use></svg></div><input id="advanced_passphrase" class="" type="password" placeholder="" title="passphrase" autocorrect="off" autocapitalize="off" autocomplete="off" data-icons="true">
</div>
</div>
<div class="narrow">
<meter max="5" id="ppm2" value="0"></meter>
<p id="ppp2"></p>
</div>
<label class="" data-t="encryptionhash">Encryption key</label>
<div class="row">
<div class="">
<input id="encryptionhashinput" class="" type="text" placeholder="" title="encryption hash" value="" autocapitalize="off" autocorrect="off" autocomplete="off" data-icons="true">
</div>
</div>
<div class="row">
<div class="pos-r-r">
<button type="submit" class="btn" onclick="showGears(encryptionhashgen, event)" data-t="encryptionhashgen">Generate encryption key hash</button>
</div>
</div>
</div>
<div class="row info">
<label class="" data-t="encryptedtext">Encrypted text</label>
<div class="help" onclick="toggle(null, null, this.nextSibling);"><div><svg class="icon"><use xlink:href="#icon-help"></use></svg></div></div><label class="tooltip hidden" data-t="encryptedtexttip">Here is the encrypted and encoded text. Parameters are encoded with Base64 algorithm, click Decode to see the actual AES encrypted text, you will find it in the "ct" property value.</label>
<div class="row">
<textarea id="encrypted_text" rows="10" placeholder="" data-reset="false" autocapitalize="off" autocorrect="off" readonly="" autocomplete="off" class="" type="text" data-icons="true"></textarea>
</div>
<div class="row slim">
<div class="pos-r-r w250">
<button type="submit" class="btn slim" onclick="enable_elem('encrypted_text')" data-t="enable">Unlock to edit</button>
</div>
</div>
<div class="row slim">
<div class="pos-r-r w250">
<button type="submit" class="btn slim" onclick="showGears( decrypt, event)" data-t="decrypt">Decrypt</button>
</div>
</div>
<div class="row slim">
<div class="pos-r-r w250">
<button type="submit" class="btn slim" onclick="decode(event)" data-t="decode">Decode Base64</button>
</div>
</div>
<div class="row slim">
<div class="pos-r-r w250">
<button type="submit" class="btn slim" onclick="encode(event)" data-t="encode">Encode Base64</button>
</div>
</div>
</div>
<div class="row info">
<label class="" data-t="cleartext">Clear text</label>
<div class="help" onclick="toggle(null, null, this.nextSibling);"><div><svg class="icon"><use xlink:href="#icon-help"></use></svg></div></div><label class="tooltip hidden" data-t="cleartexttip">Here you can see the the text after it is decrypted</label>
<div class="row">
<textarea id="clear_text" rows="12" placeholder="" autocapitalize="off" autocorrect="off" readonly="" autocomplete="off" class="" type="text" data-icons="true"></textarea>
</div>
<div class="row slim">
<div class="pos-r-r w250">
<button type="submit" class="btn slim" onclick="enable_elem('clear_text')" data-t="enable">Unlock to edit</button>
</div>
</div>
<div class="row slim">
<div class="pos-r-r w250">
<button type="submit" class="btn slim" onclick="showGears(encrypt, event)" data-t="encrypt">Encrypt</button>
</div>
</div>
<div class="row slim">
<div class="pos-r-r w250">
<button type="submit" class="btn slim" onclick="importText(true)" data-t="import">Import</button>
</div>
</div>
</div>
<div class="row info">
<label class="" data-t="email">Email address</label>
<div class="row">
<input id="advanced_email" name="email" class="" type="text" pattern="^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$" title="email address" autocorrect="off" autocapitalize="off" autocomplete="off" data-icons="true">
</div>
<label class="" data-t="loginhash">Login hash</label>
<div class="row">
<div class="">
<input id="loginhashinput" class="" type="text" placeholder="" title="login hash" value="" autocapitalize="off" autocorrect="off" autocomplete="off" data-icons="true">
</div>
</div>
<div class="row">
<div class="pos-r-r w350">
<button type="submit" class="btn" onclick="showGears(loginhashgen, event)" data-t="loginhashgen">Generate login hash</button>
</div>
</div>
</div>
</div> </div>
<!-- under end -->
<!-- save_offline -->
<div id="save_offline" class="card scroll hidden wi40">
<form>
<div class="row">
<div class="pos-0-0">
<div class="row info">
<svg class="icon big">
<use xlink:href="#icon-save"></use>
</svg>
<div class="title">PassPilot</div>
<h1 data-t="savefile">Save to file</h1>
<span data-t="savefile-card-indo">Does not require registration. You can save your encrypted vault together with the application to a singe HTML file. The file is a self contained application that you can use offline (Internet connection is NOT required).</span>
</div>
<label class="" data-t="passphrase">Passphrase</label>
<div class="help" onclick="toggle(null, null, this.nextSibling);"><div><svg class="icon"><use xlink:href="#icon-help"></use></svg></div></div><label class="tooltip hidden" data-t="passphrasetip">Passphrase must be very strong for that reason the required length is over 20 characters</label>
<div class="row">
<div class="pos-l-icon">
<div class="peek" onclick="peekInput(event);"><svg class="icon"><use xlink:href="#icon-eyeclosed"></use></svg><svg class="icon"><use xlink:href="#icon-eye"></use></svg></div><input id="offline_passphrase" class="" type="password" placeholder="" pattern=".{20,}" title="minimum 20 characters" required="" autocorrect="off" autocapitalize="off" autocomplete="off" data-icons="true" value="">
</div>
</div>
<div class="narrow">
<meter max="5" id="ppm" value="0"></meter>
<p id="ppp"></p>
</div>
<label class="" data-t="passphrase-confirm">Confirm passphrase</label>
<div class="help" onclick="toggle(null, null, this.nextSibling);"><div><svg class="icon"><use xlink:href="#icon-help"></use></svg></div></div><label class="tooltip hidden" data-t="passphrasetip">Passphrase must be very strong for that reason the required length is over 20 characters</label>
<div class="row">
<div class="pos-l-icon">
<div class="peek" onclick="peekInput(event);"><svg class="icon"><use xlink:href="#icon-eyeclosed"></use></svg><svg class="icon"><use xlink:href="#icon-eye"></use></svg></div><input id="offline_passphrase2" class="" type="password" placeholder="" pattern=".{20,}" title="minimum 20 characters" required="" autocorrect="off" autocapitalize="off" autocomplete="off" data-icons="true" value="">
</div>
</div>
<div class="row">
<div class="pos-r-r w250">
<button type="submit" class="btn green" onclick="showGears(saveOffline, event)" data-t="savefile">Save to file</button>
</div>
</div>
<label class="" data-t="save-app">Save only application</label>
<div class="row info">
<p data-t="save-app-info">Saves the application to a single HTML file without your encrypted vault data, you can send such application to your friends, empty application can be filled later, no internet connection is required</p>
<div class="row">
<div class="pos-l-l">
<button type="submit" class="btn" onclick="showGears(saveApp, event)" data-t="save-app">Save only application</button>
</div>
</div>
</div>
</div>
</div>
</form> </div>
<!-- save_offline end -->
<!-- options -->
<div id="settings" class="card scroll hidden wi40">
<div class="pos-0-0">
<div class="row info">
<svg class="icon big">
<use xlink:href="#icon-gear"></use>
</svg>
<div class="title">PassPilot</div>
<h1 data-t="settings">Settings</h1>
<span data-t="settings-card-info">For security reasons password generator settings will not be stored when you save your data and will reset once you refresh the page.<br>Only the timeout value and additional PBKDF2 iterations value will be stored once you save your data.</span>
</div>
<label class="" data-t="passgen-label">Strong password generator</label>
<div class="row info">
<label class="" data-t="pass-lenght">Generated passwords length</label>
<div class="row">
<div class="">
<input id="passgenlength" data-reset="false" class="" type="number" placeholder="" title="generated password lenght" value="30" autocapitalize="off" autocorrect="off" autocomplete="off" data-icons="true">
</div>
</div>
<label class="" data-t="passgenchars">Characters used for generated passwords</label>
<div class="row">
<div class="">
<textarea id="passgenchars" class="min-h-120" data-reset="false" title="generated password characters" autocapitalize="off" autocorrect="off" autocomplete="off" data-icons="true">1234567890qwertyuiopasdfghjklzxcvbnmQWERTYUIOPSDFGHJKLZXCVBNM!@#$%^&*()-=_+[]{};:'"\|,<.>/?</textarea>
</div>
</div>
<label class="" data-t="pass-test">Test your settings</label>
<div class="row">
<div class="">
<input id="passgentest" class="" type="text" placeholder="" data-icons="true" title="generated password test" autocapitalize="off" autocorrect="off" autocomplete="off">
</div>
</div>
<div class="row slim">
<div class="pos-r-r w250">
<button class="btn slim" onclick="test_pass_gen('passgentest')" data-t="pass-gen">Generate password</button>
</div>
</div>
<div class="row slim">
<div class="pos-r-r w250">
<button class="btn slim" onclick="pass_gen_reset()" data-t="reset">Reset settings</button>
</div>
</div>
</div>
<div class="row info">
<label class="" data-t="timeout">Inactivity timeout (minutes), "0" to deactivate</label>
<div class="row">
<div class="">
<input id="timeout" data-reset="false" class="" type="number" placeholder="" title="timeout" value="" min="0" autocapitalize="off" autocorrect="off" autocomplete="off" data-icons="true">
</div>
</div>
</div>
<div class="row info">
<label class="" data-t="iter">Encryption key derivation function iterations count (PBKDF2), additionally to 147338 encryption hash iterations</label>
<div class="row">
<div class="">
<input id="iter" data-reset="false" class="" type="number" placeholder="" title="iterations" readonly="" value="" min="101" autocapitalize="off" autocorrect="off" autocomplete="off" data-icons="true">
</div>
</div>
<div class="row slim">
<div class="pos-r-r w250">
<button type="submit" class="btn slim" onclick="enable_elem('iter')" data-t="enable">Unlock to edit</button>
</div>
</div>
</div>
</div> </div>
<!-- options -->
<!-- login begin -->
<div id="offlinedecrypt" class="modal hidden">
<div class="pos-0-0">
<div class="card logon">
<div class="row info">
<svg class="icon big icon-pp">
<use xlink:href="#icon-pp"></use>
</svg>
<div class="title">PassPilot</div>
<h1 data-t="decrypt">Decrypt</h1>
<span data-t="offline-inint-decrypt">There is an encrypted text available, enter your password and click "Decrypt"</span>
</div>
<form>
<label class="" data-t="passphrase">Passphrase</label>
<div class="help" onclick="toggle(null, null, this.nextSibling);"><div><svg class="icon"><use xlink:href="#icon-help"></use></svg></div></div><label class="tooltip hidden" data-t="passphrasetip">Passphrase must be very strong for that reason the required length is over 20 characters</label>
<div class="row">
<div class="pos-l-icon">
<div class="peek" onclick="peekInput(event);"><svg class="icon"><use xlink:href="#icon-eyeclosed"></use></svg><svg class="icon"><use xlink:href="#icon-eye"></use></svg></div><input id="offline_decrypt_passphrase" class="" type="password" placeholder="" pattern=".{20,}" title="minimum 20 characters" required="" autocorrect="off" autocapitalize="off" autocomplete="off" data-icons="true">
</div>
</div>
<div class="row">
<div class="pos-r-r w250">
<button type="submit" class="btn" onclick="showGears(offlineDecrypt, event)" data-t="decrypt">Decrypt</button>
</div>
</div>
</form>
</div>
</div>
<div class="scroll pos-r-r">
<button id="" class="btn close" onclick="toggle('offlinedecrypt')">
<svg class="icon">
<use xlink:href="#icon-cross"></use>
</svg>
</button>
</div> </div>
<!-- login end -->
<!-- login begin -->
<div id="logincard" class="modal hidden">
<form>
<div class="pos-0-0">
<div class="card logon">
<div class="row info">
<svg class="icon big icon-pp">
<use xlink:href="#icon-pp"></use>
</svg>
<div class="title">PassPilot</div>
<h1 data-t="login">Login</h1>
<span data-t="login-card-info"><a href="#/register">Register</a> if you haven't so. You can also save your data locally. Click here to <a href="#" onclick="toggle('logincard');toggle('save_offline')">save to file</a> and use the application offline without registration</span>
</div>
<label class="" data-t="email">Email address</label>
<div class="help" onclick="toggle(null, null, this.nextSibling);"><div><svg class="icon"><use xlink:href="#icon-help"></use></svg></div></div><label class="tooltip hidden" data-t="emailtip">E-mail address used during registration</label>
<div class="row">
<input id="login_email" name="email" class="" type="text" pattern="^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$" required="" title="provide a valid email address" autocorrect="off" autocapitalize="off" autocomplete="off" data-icons="true">
</div>
<label class="" data-t="passphrase">Passphrase</label>
<div class="help" onclick="toggle(null, null, this.nextSibling);"><div><svg class="icon"><use xlink:href="#icon-help"></use></svg></div></div><label class="tooltip hidden" data-t="passphrasetip">Passphrase must be very strong for that reason the required length is over 20 characters</label>
<div class="row">
<div class="pos-l-icon">
<div class="peek" onclick="peekInput(event);"><svg class="icon"><use xlink:href="#icon-eyeclosed"></use></svg><svg class="icon"><use xlink:href="#icon-eye"></use></svg></div><input id="login_passphrase" class="" type="password" placeholder="" pattern=".{20,}" title="minimum 20 characters" required="" autocorrect="off" autocapitalize="off" autocomplete="off" data-icons="true">
</div>
</div>
<div class="row">
<div class="pos-r-r">
<button type="submit" class="btn red" onclick="showGears(signon, event)" data-t="login-btn">Login</button>
</div>
</div>
</div>
</div>
</form>
<div class="scroll pos-r-r">
<button id="" class="btn close" onclick="toggle('logincard')">
<svg class="icon">
<use xlink:href="#icon-cross"></use>
</svg>
</button>
</div> </div>
<!-- login end -->
<!-- fields edit begin -->
<div id="editcard" class="modal hidden">
<div class="pos-0-0">
<div id="fields" class="card fields">
</div>
</div>
<div class="scroll pos-r-r">
<button type="text" id="" class="btn close" onclick="toggle('editcard')">
<svg class="icon">
<use xlink:href="#icon-cross"></use>
</svg>
</button>
</div>
</div>
<!-- fields edit end -->
<div id="modal" class="card modal hidden">
<div id="xbtn" class="scroll pos-r-r">
<button type="text" id="btn-close-modal" class="btn">
<svg class="icon">
<use xlink:href="#icon-cross"></use>
</svg>
</button>
</div>
<div id="iframe_container">
</div>
</div>
<div id="gears" class="hidden">
<div id="gearwrap">
<svg class="icon gear">
<use xlink:href="#icon-gear"></use>
</svg>
<svg class="icon gear gearsmall">
<use xlink:href="#icon-gear"></use>
</svg>
</div>
</div> <!-- gears end -->
<!-- wrapper end -->
</div>
</div>
<!-- app end -->
<script type="text/javascript">
var dict_pl={lang:"ENGLISH",newsearch:"Nazwa/Szukaj",add:"Dodaj",date:"Data",loadsave:"Wczytaj / Zapisz",load:"Wczytaj",save:"Zapisz",saveall:"Zapisz Wszystko",cancel:"Anuluj",register:"Nowe konto",activate:"Aktywuj konto","activate-info":"Sprawdź email w celu uzyskania kodu aktywacyjnego. Jeżeli nie znalazłeś od nas maila sprawdź wiadomości oznaczone jako SPAM. Zarejestruj się jeżeli jeszcze tego nie zrobiłeś/zrobiłaś.","activation-code":"Kod aktywacyjny",deactivate:"Usuń konto","deactivate-info":'Jeżeli nie masz klucza do usunięcia konta, ponownie podaj swój email w <a href="/#/register" target="_top">formularzu rejestracji</a> żeby otrzymać klucz. Zaszyfrowana treść Twojego sejfu zostanie wysłana do Ciebie w wiadomości email tuż przed usunięciem Twojego konta jako ostatnia kopia zapasowa.',"deactivation-code":"Kod dezaktywacyjny",theme:"Schemat kolorów",under:"Zaawansowane","under-card-info":"Tylko jeżeli wiesz co robisz<br> Tutaj możesz rozszyfrować zapisane dane lub użyć tej strony aby zaszyfrować lub rozszyfrować dowolne informacje",encryptedtext:"Zaszyfrowany text",encryptedtexttip:'Tutaj widoczny jest zaszyfrowany i zakodowany text. Parametry zakodowane są jako ciąg Base64. Kliknij Rozkoduj żeby zobaczyć właściwie zaszyfrowany ciąg AES, znajdziesz go pod wartością "ct".',cleartext:"Jawny text",cleartexttip:"Tutaj widoczne są informacje po rozszyfrowaniu.",clear:"Czyść ekran",about:"Informacje",existing:"Rekord o tej nazwie już istnieje",emptyname:"Nazwa nie może być pusta, wpisz nową nazwę","save-card-info":"Szyfruje dane i zapisuje na serwerze","load-card-info":"Wczytuje dane z serwera i rozszyfrowuje","load-card-info-bottom":'Chociaż to wygodne nie musisz się rejestrować żeby korzystać z aplikacji. Możesz swoje hasła <a href="#" onClick="toggle(\'save_offline\')" >zapisać do pliku</a> i korzystać z aplikacji wyłącznie offline. Jeżeli jednak chcesz zapisać zaszyfrowane dane online <a href="#/register" >zarejestruj się</a>, następnie <a href="#/confirm">aktywuj konto</a>.',"about-card-info":"Ta aplikacja jest managerem haseł, na razie to tylko wersja testowa ale w pełni funkcjonalna. Kontakt do nas znajdziesz w mailu aktywacyjnym.",faq:"Pytania i Odpowiedzi",email:"Adres email",emailtip:"Adres e-mail podany podczas rejestracji",passphrase:"Hasło","passphrase-min":"Poprawne hasło musi zawierać minimum 20 znaków","passphrase-confirm":"Powtórz hasło",passphrasetip:"Hasło musi być bardzo silne dlatego wymagane jest 20 znaków","under-passphrasetip":"Hasło powinno być długie i trudne do odgadnięcia.","register-info":'Podaj swój adres email żeby się zarejestrować następnie <a href="/#/confirm" target="_top">aktywuj konto</a>.',"register-info2":'Klikając poniższy przycisk akceptuję <a href="/terms.pdf" target="_new">regulamin oraz politykę prywatności</a> które obowiązują na tej stronie.',accept:"Akceptuję i wysyłam",submit:"Wyślij",hashgen:"Generuj hash",saveonline:"Zaisz (nadpisuje dane na serwerze)","captcha-missing":"Potwierdź że nie jesteś robotem","passphrase-setup":"Utworzenie hasła","passphrase-setup-info":"Utwórz hasło z którego wygenerujemy hash. Jedynie hash jest używany w komunikacji, Hasło nigdy nie będzie przesyłane.<br>Twoje hasło musi być długie, użyj słów i zwrotów zamiast pojedynczych znaków żeby hasło było dłuższe i silniejsze.","passphrase-setup-tip":"",hash:"Hash","hash-info":"Hash wygenerowany z twojego adresu email oraz hasła","hash-tip":"Wygenerowaliśmy hash z Twojego adresu email i hasła, logując się za każdym razem wygenerujemy ten sam hash, funkcja haszująca jest jednokierunkowa i nie da się z niej pozyskać hasła więc upewnij się że pamiętasz swoje hasło, najlepiej zapisz je i trzymaj w bezpiecznym miejscu poniewaz nikt nie bedzie w stanie odzyskać Twojego hasła (znasz je tylko Ty). Hasha nie musisz zapisywać ani przechowywać. Będziesz używał hasła aby szyfrować swoje dane, my używamy hasha aby przesyłać lub pobierać zaszyfrowane dane ale tylko Ty możesz je odszyfrować swoim hasłem. Jeżeli jesteś gotowy kliknij przycisk i prześlij hash, w przeciwnym razie zamknij okno i zacznij od nowa.",hashgensubmit:"Zapamiętałem hasło i chcę przesłać hash",match:"Hasła nie pasują",added:"Dodano","delete":"Usuń",gooffline:"Tryb offline",goonline:"Tryb online",encrypt:"Zaszyfruj",encrypted:"Zaszyfrowano poprawnie",decrypt:"Rozszyfruj",decrypted:"Rozszyfrowano poprawnie",decode:"Rozkoduj Base64",encode:"Zakoduj Base64",savefile:"Zapisz do pliku","savefile-card-indo":"Nie wymaga rejestracji, zapisuje zaszyfrowane dane wraz z aplikacją do jednego pliku HTML, który sam w sobie jest pełnowartościową aplikacją, tak zapisany plik możesz używać offline (połączenie z Internetem nie jest potrzebne)",online:"Wymaga Internetu",offline:"Bez Internetu",empty:"Brak treści, na początek dodaj jakiś rekord","no-email":"Podaj poprawny adres email (uważaj na spacje)","pass-no-match":"Hasła nie są takie same","nothing-to-save":"Brak treści do zapisania lub niekompletne dane","loading-overwrite":"Wczytywanie nadpisze niezapisane dane, kontynuować?","saving-overwrite":"Zapisywanie nadpisze dane istniejące na serwerze, kontynuować?","confirm-delete":"Czy na pewno usunąć rekord","confirm-delete-field":"Czy na pewno usunąć to pole?","existing-field":"Pole o takiej nazwie już istnieje lub nazwa jest zastrzeżona",editcard:"Dodaj/usuń pola","editcard-info":"Dodaj lub usuń pola z rekordu,<br>wpisz u, l, p, n, o żeby przywrócić domyślne pola",close:"Zamknij","no-login":"Podaj dane logowania","offline-inint-decrypt":'Żeby rozszyfrować dane, wprowadź hasło i kliknij "Rozszyfruj"',inactivity:"Dla bezpieczeństwa z powodu bezczynności ekran został wyczyszczony",reset:"Resetuj ustawienia",settings:"Ustawienia","settings-card-info":"Ze względów bezpieczeństwa ustawienia generatora haseł nie będą przechowywane podczas zapisywania danych i zostaną zresetowane po odświeżeniu strony.<br>Jedynie wartość limitu czasu i wartość iteracji PBKDF2 zostaną zachowane podczas zapisywania danych.","pass-lenght":"Długość generowanych haseł",passgenchars:"Znaki z których generowane są hasła","passgen-label":"Generator silnych haseł","pass-gen":"Wygeneruj hasło","pass-test":"Przetestuj generator","pass-overwrite":"Nadpisać obecne hasło?","save-changes":"Pamiętaj żeby zapisać zmiany, kliknij żeby zapisać teraz",beforeunload:"Niezapisane dane zostaną utracone","restore-elem":"Cofnij zmiany","confirm-restore":"Cofnąć do ostatnio zapisanej wersji?","nothing-restored":"Brak informacji do przywrócenia",loaded:"Dane zostały wczytane","import":"Importuj",copy:"Kopiuj",copied:"Skopiowano do schowka","check-password":"Błąd, sprawdź hasło",error:"Wystąpił błąd","invalid-format":"Niepoprawny format danych",ok:"Ok",canlcel:"Anuluj",confirm:"Potwierdź",sending:"Wysyłam","sure-to-delete":"Czy na pewno chcesz usunąć konto?",unsaved:"Pamiętaj zapisz zmiany",list:"Lista",contact:"Zgłoś problem","contact-info":"Będziemy wdzięczni za precyzyjne opisanie tematu którego dotyczy wiadomość.<br>Pola oznaczone * nie są wymagane, wypełnij je jeżeli chcesz żebyśmy mogli się z Tobą skontaktować w razie potrzeby.","contact-name":"Twoje imię *","contact-email":"Twój adres email *","contact-query":"Treść wiadomości",iter:"Liczba iteracji funkcji wprowadzania klucza szyfrującego (PBKDF2), dodatkowo do 147338 iteracji hasha szyfrującego",timeout:'Czas bezczynności po którym ekran zostanie wyczyszczony (minuty), "0" aby wyłączyć',strength:"Siła hasła",weak:"Hasło jest za słabe, użyj słów/zdań zamiast liter.",login:"Zaloguj","login-btn":"Zaloguj się",logout:"Wyloguj","login-card-info":'Jeżeli nie założyłeś jeszcze konta <a href="#/register" >zarejestruj się</a>. Możesz również swoje hasła <a href="#" onClick="toggle(\'logincard\');toggle(\'save_offline\')" >zapisać do pliku</a> i korzystać z aplikacji wyłącznie offline bez rejestracji',"before-login":"Zapisz do pliku lub usuń istniejące rekordy przed zalogowaniem",loggedin:"Zalogowano poprawnie, możesz dodawać rekordy","before-logout":"Masz niezapisane dane, które stracisz po wylogowaniu, wylogować mimo to?",loginhash:"Hash logowania",loginhashinfo:"Hash logowania",loginhashgen:"Wygeneruj hash logowania",encryptionhash:"Klucz szyfrujący",encryptionhashinfo:"Klucz szyfrujący",encryptionhashgen:"Wygeneruj hash klucza szyfrującego",loggedoff:"Wylogowano poprawnie",noquicksave:"Nie jesteś zalogowany, możesz zapisać jedynie do pliku",done:"Zrobione","0":"Najgorsze","1":"Złe","2":"Słabe","3":"Średnie","4":"Dobre","5":"Silne","6":"Hasła powyżej 50 znaków nie są mierzone ze względu na wydajność","high-iterations":"Upewnij się że wiesz co robisz, zwiększanie tej wartości podniesie bezpieczeństwo ale znacząco obciąży system oraz wpłynie na dłuższy czas szyfrowania. 100000 jest wartością wystarczającą","low-iterations":"Ta wartość musi być większa niż 100","pass-change":"Zmień hasło główne","pass-change-info":"Zmiana hasła głównego","old-passphrase":"Stare hasło","new-passphrase":"Nowe hasło","new-passphrase-confirm":"Powtórz nowe hasło","before-change":"Musisz być zalogowany",enable:"Odblokuj do edycji","email-change":"Zmień adres email","email-change-info":"Zmiana adresu email do logowania","old-email":"Obecny/stary adres email","new-email":"Nowy adres email",emailchangetip:"Obecny adres email którym się logujesz",emailchangetip2:"Nowy adres email","current-passphrase":"Twoje obecne hasło","same-email":"Adresy email muszą być różne","same-passphrase":"Nowe hasło nie może być takie samo jak stare","emailchange-conf":"Potwierdzenie zmiany adresu email","emailchange-conf-info":"Tutaj możesz potwierdzić zmianę adresu e-mail dla Twojego konta.","emailchange-conf-info2":"Dlaczego ponownie prosimy o podanie wszystkich danych? <br> Prosimy o podanie aktualnego adresu e-mail i hasła, ponieważ są one używane aby stworzyć hash logowania i skoro zmieniasz swój adres e-mail musimy wygenerować nowy hash logowania przy użyciu nowego adresu e-mail i obecnego hasła, Twój klucz szyfrowania nie ulegnie zmianie, ponieważ generowany jest tylko z Twojego hasła, którego w tej chwili nie zmieniamy.","conf-code":"Kod potwierdzający","conf-code-tip":"Kod potwierdzający który otrzymałeś w wiadomości email","current-login-hash":"Obecny hash logowania","current-login-hash-info":"Bieżący hash logowania obliczony na podstawie aktualnego adresu e-mail i aktualnego hasła w połączeniu z tokenem sesji dla bezpieczeństwa","new-login-hash":"Nowy hash logowania","new-login-hash-info":"Nowy hash logowania jest obliczany na podstawie nowego adresu e-mail i aktualnego hasła.",loginhashsubmit:"Potwierdzam zmianę adresu email",profile:"Konto","profile-info":"Tutaj możesz zarządzać swoim profilem",vault_size:"Rozmiar sejfu",vault_limit:"Obecny limit ilości znaków zaszyfrowanego tekstu to 100,000 (sto tysięcy znaków) dla kont standard oraz 1,000,000 dla kont premium. Pamiętaj, limit nie obowiązuje jezeli zapisujesz do pliku.",loggedout:"Zostałeś wylogowany",htf:"Jak korzystać z pliku?",htf_info:"Zalecamy korzystanie z tego pliku na laptopie lub komputerze stacjonarnym w nowoczesnej przeglądarce internetowej.",htf_p1_label:"Jak odszyfrować dane z pliku?",htf_p1_text:'<p>Jeżeli plik został zapisany razem z zaszyfrowanymi danymi odśwież tą stronę i wprowadź hasło w oknie z hasłem lub przejdź do sekcji "Zaawansowane" tam wprowadź swoje hasło w polu "Hasło" i kliknij "Rozszyfruj".</p>',htf_p2_label:"Plik nie działa na urządzeniu Apple?",htf_p2_text:"<p>Jeżeli korzystasz z iPhone'a ten plik nie będzie działał w trybie podglądu (zapowiedzi), musisz otworzyć go w przeglądarce lub innym programie na swoim telefonie lub komputerze, który jest w stanie uruchamiać strony internetowe.</p><p>Najlepiej korzystać z tego pliku na komputerze lub laptopie.</p>",htf_p3_label:"Jak sprawdzić dostępność nowej wersji?",htf_p3_text:'Od czasu do czasu zajrzyj na stronę <a href="https://www.passpilot.com" target="_new" >www.passpilot.com</a> i sprawdź czy dostępna jest nowa wersja aplikacji, cały czas ją rozwijamy.',htf_p4_label:"Gdzie szukać pomocy?",htf_p4_text:'W razie problemów skontaktuj się z nami przy pomocy formularza internetowego <a href="https://www.passpilot.com/#/contact" target="_new" >http://www.passpilot.com/#/contact</a> lub napisz na adres <a href="mailto:[email protected]">[email protected]</a>',htf_p5_label:"Jak korzystać z aplikacji offline?",htf_p5_text:'Aby dodać nowy rekord, wprowadź nazwę rekordu w polu u góry i kliknij "Dodaj". Aby zapisać swoje rekordy, kliknij "Zapisz do pliku" następnie wprowadź silne hasło i zapisz wszystko w nowym pliku, jeśli chcesz możesz nadpisać istniejący plik lub zapisać kopię w nowym miejscu. Sprawdź stronę z pytaniami i odpowiedziami aby uzyskać więcej informacji na temat aplikacji<a href="https://www.passpilot.com/#/faq" target="_new" >http://www.passpilot.com/#/faq</a>',welcome:"Ekran powitalny",terms:"Regulamin<br>Polityka Prywatności",donate:"Wesprzyj aurora",log:"Ostatnie logowanie",log_success:"Ostatnie poprawne logowanie",log_fail:"Ostatnia nieudana próba","save-app":"Zapisz tylko aplikację","save-app-info":"Zapisuje aplikację do jednego pliku HTML bez Twoich zaszyfrowanych danych, tak zapisaną aplikację możesz wysłać znajomym, pustą aplikację można zapełnić później nie potrzeba do tego połączenia z internetem"}; </script>
<script type="text/javascript">
var dict_en={lang:"POLSKI",newsearch:"Name/Search",add:"Add",date:"Date",loadsave:"Load / Save",load:"Load",save:"Save",saveall:"Save All",cancel:"Cancel",register:"New account",activate:"Activate account","activate-info":"Please check your email to obtain the activation code. If you cannot find our email please check your SPAM folder. Please register if you haven't done so.","activation-code":"Activation code",deactivate:"Remove account","deactivate-info":'If you don\'t have your deletion code, submit your email on the <a href="/#/register" target="_top">registration form</a> again to receive the code. Your vault will be sent to you in the confirmation email just before your account gets deleted as your last backup.',"deactivation-code":"Deactivation code",theme:"Theme",under:"Advanced","under-card-info":"Only if you know what you are doing<br> Here you can decrypt saved information, you can also use this page to encrypt/decrypt any text of your choice",encryptedtext:"Encrypted text",encryptedtexttip:'Here is the encrypted and encoded text. Parameters are encoded with Base64 algorithm, click Decode to see the actual AES encrypted text, you will find it in the "ct" property value.',cleartext:"Clear text",cleartexttip:"Here you can see the the text after it is decrypted",clear:"Clear screen",about:"About",existing:"Record with that name already exists",emptyname:"Name cannot be empty, enter the new name first","save-card-info":"Encrypt the data and save on the serwer","load-card-info":"LOAD encrypted data from the server and decrypt or encrypt the data and SAVE on the serwer","load-card-info-bottom":'Although it is convenient you don\'t have to register to use this application. You can add your data and save everything to a file, <a href="#" onClick="toggle(\'save_offline\')" >click to save file</a>. If you anyways want to save online <a href="#/register" >register</a>, once registered <a href="#/confirm">activate</a> your account.',"about-card-info":"This app is a password manager, for now it is early alpha version but its security features are complete and functional.<br> In case of queries you can reach us over email you will find in the registration mail.",faq:"FAQ",email:"Email address",emailtip:"E-mail address used during registration",passphrase:"Passphrase","passphrase-min":"Valid passphrase has to consist of minimum 20 characters","passphrase-confirm":"Confirm passphrase",passphrasetip:"Passphrase must be very strong for that reason the required length is over 20 characters","under-passphrasetip":"Passphrase should be very long and hard to guess.","register-info":'To register please provide your email address, after that <a href="/#/confirm" target="_top">activate</a> your account.',"register-info2":'By clicking the submit button below, I hereby agree to and accept the <a href="/terms.pdf" target="_new">Terms & Conditions and the Privacy Policy</a> that governs the website.',accept:"I accept and submit",submit:"Submit",hashgen:"Generate hash",saveonline:"Save (overwrite server vault)","captcha-missing":"Please solve the captcha","passphrase-setup":"Passphrase creation","passphrase-setup-info":"Create a passphrase which is used to generate hash. Only hash is used during communication. We never transmit your password.","passphrase-setup-tip":"Your passphrase must be long, use words/sentences instead of single characters to make it long and easy to remember.",hash:"Hash","hash-info":"Hash created from your email address and your password","hash-tip":"We created hash from your email address and your passphrase, you will create same hash every time you want to save or retrieve data from the server because we never send your password to the server, hashing function is a one way function this means your password cannot be derived from the hash so make sure you remember your password, best is to write it down and keep it safe because no one will be able to recover your password (only you know it). You don't have to know or store your hash. You will use your password to encrypt all your data, we use hash only to store or fetch the encrypted data but only you can decrypt the data with your password.<br> If you are ready to proceed click the button to submit your hash otherwise close the window and start over.",hashgensubmit:"I memorized my passphrase and want to submit my hash",match:"Passphrases must match",added:"Record added","delete":"Delete",gooffline:"Go offline",goonline:"Go online",encrypt:"Encrypt",encrypted:"Successfully encrypted",decrypt:"Decrypt",decrypted:"Successfully decrypted",decode:"Decode Base64",encode:"Encode Base64",savefile:"Save to file","savefile-card-indo":"Does not require registration. You can save your encrypted vault together with the application to a singe HTML file. The file is a self contained application that you can use offline (Internet connection is NOT required).",online:"Online",offline:"Offline",empty:"Your vault is empty, add some content first","no-email":"Enter valid email address (watch out for spaces)","pass-no-match":"Passwords do not match","nothing-to-save":"Nothing to save or incomplete login information","loading-overwrite":"Loading wil overwrite unsaved changes, proceed?","saving-overwrite":"Saving will overwrite whatever is on the server, proceed?","confirm-delete":"Are you sure you want to delete the record","confirm-delete-field":"Are you sure you want to delete this field?","existing-field":"Field already exist or the name is restricted",editcard:"Add/remove fields","editcard-info":"Add or remove fields from the record,<br>type u, l, p, n, o to restore default fields",close:"Close","no-login":"Enter login information","offline-inint-decrypt":'There is an encrypted text available, enter your password and click "Decrypt"',inactivity:"Application reset due to inactivity",reset:"Reset settings",settings:"Settings","settings-card-info":"For security reasons password generator settings will not be stored when you save your data and will reset once you refresh the page.<br>Only the timeout value and additional PBKDF2 iterations value will be stored once you save your data.","pass-lenght":"Generated passwords length",passgenchars:"Characters used for generated passwords","passgen-label":"Strong password generator","pass-gen":"Generate password","pass-test":"Test your settings","pass-overwrite":"Overwrite current password?","save-changes":"Remember to save your changes, click to save now",beforeunload:"Unsaved data will be lost","restore-elem":"Undo changes","confirm-restore":"Restore to the last saved version?","nothing-restored":"Nothing to restore from",loaded:"Data was loaded","import":"Import",copy:"Copy",copied:"Copied to clipboard","check-password":"Error, check password",error:"Error","invalid-format":"Invalid data format",ok:"Ok",canlcel:"Cancel",confirm:"Confirm",sending:"Sending","sure-to-delete":"Are you sure you want to delete the account?",unsaved:"Remember to save changes",list:"List",contact:"Report issue","contact-info":"Please describe your issue, provide as many details as possible.<br>Fields marked with * are optional, fill them out if you want us to contact you whenever necessary.","contact-name":"Your name *","contact-email":"Your email *","contact-query":"Message/Query",iter:"Encryption key derivation function iterations count (PBKDF2), additionally to 147338 encryption hash iterations",timeout:'Inactivity timeout (minutes), "0" to deactivate',strength:"Passphrase strength",weak:"Password is too weak, use words/sentences instead of letters.",login:"Login","login-btn":"Login",logout:"Logout","login-card-info":'<a href="#/register" >Register</a> if you haven\'t so. You can also save your data locally. Click here to <a href="#" onClick="toggle(\'logincard\');toggle(\'save_offline\')" >save to file</a> and use the application offline without registration',"before-login":"Save to file or delete existing records before logging in",loggedin:"Successfully logged in, you may add new records","before-logout":"You have unsaved data which you will lose after you log out, logout anyways?",loginhash:"Login hash",loginhashinfo:"Login hash",loginhashgen:"Generate login hash",encryptionhash:"Encryption key",encryptionhashinfo:"Encryption key",encryptionhashgen:"Generate encryption key hash",loggedoff:"Logged out successfully",noquicksave:"You are not logged in, you can only save to file",done:"Done","0":"Worst","1":"Bad","2":"Weak","3":"Fair","4":"Good","5":"Strong","6":"Passwords over 50 characters are not measured due to performance impact","high-iterations":"Make sure you know what you are doing, increasing this value will improve security but it will significantly impact performance of your system and slow down encryption time. 100000 is sufficient value.","low-iterations":"This value must be greater than 100","pass-change":"Change passphrase","pass-change-info":"Passphrase change","old-passphrase":"Old passphrase","new-passphrase":"New passphrase","new-passphrase-confirm":"Repeat new passphrase","before-change":"Please login first",enable:"Unlock to edit","email-change":"Change email","email-change-info":"Change login email","old-email":"Current/old email address","new-email":"New email address",emailchangetip:"Current email address used for login",emailchangetip2:"New email address","current-passphrase":"Your current passphrase","same-email":"Email addresses have to be different","same-passphrase":"New passphrase cannot be the same as the old one","emailchange-conf":"Account email address change","emailchange-conf-info":"Here you can confirm the email address change for your account.","emailchange-conf-info2":"Why do we ask for all the details again?<br>We ask for you current email and password because they are used to create your login hash and since you are changing your email we have to generate new login hash using your new email and your current password, your encryption key won't change since it is derived only from your password that we don't change right now.","conf-code":"Confirmation code","conf-code-tip":"Confirmation code received in an email message","current-login-hash":"Current login hash","current-login-hash-info":"Current login hash calculated using your current email and current passphrase combined with session token for security","new-login-hash":"New login hash","new-login-hash-info":"New login hash is calculated using your new email address and your current passphrase.",loginhashsubmit:"Confirm email address change",profile:"Account","profile-info":"Use this page to manage your profile",vault_size:"Vault size",vault_limit:"Current limit of characters in encrypted text is 100,000 (hundred thousand characters) for standard account, and 1,000,000 for premium account. Remember, there is no limit if you are saving to file.",loggedout:"You have been logged out",htf:"How to use this file?",htf_info:"You will have the best experience while using this file on a laptop or desktop computer in a modern internet browser.",htf_p1_label:"How to decrypt content of this file?",htf_p1_text:'<p>If the file was saved together with encrypted vault data you can refresh the page and enter your passphrase in the popup window or go to the "Advanced" tab, type your password in the "Passphrase" field and click the "Decrypt" button on that page</p>',htf_p2_label:"File doesn't work on Apple device?",htf_p2_text:'<p>If you are using an iPhone this file will not work in a "preview" mode<br>you have to open it via a browser or other program that can run JavaScript either on your phone or desktop. Best is to use the offline file on your desktop or laptop.</p>',htf_p3_label:"How to check for updates?",htf_p3_text:'You can visit our website <a href="https://www.passpilot.com" target="_new" >www.passpilot.com</a> from time to time and check if new version is available, we are constantly improving the application.',htf_p4_label:"How to contact us?",htf_p4_text:'In case of questions contact us using the online form <a href="https://www.passpilot.com/#/contact" target="_new" >http://www.passpilot.com/#/contact</a> or send an email to <a href="mailto:[email protected]">[email protected]</a>',htf_p5_label:"How to use the application offline?",htf_p5_text:'To add new record, enter the record name in the top input field and click "Add". To save your records click "Save to file" then enter a strong password and save everything to a new file, you can overwrite the existing file if you want or save a copy in new place. Check our FAQ page for more information about the application <a href="https://www.passpilot.com/#/faq" target="_new" >http://www.passpilot.com/#/faq</a>',welcome:"Welcome screen",terms:"Terms & Conditions<br>Privacy Policy",donate:"Support the author",log:"Last Login",log_success:"Last successful login",log_fail:"Last failed attempt","save-app":"Save only application","save-app-info":"Saves the application to a single HTML file without your encrypted vault data, you can send such application to your friends, empty application can be filled later, no internet connection is required"}; </script>
<script type="text/javascript">
"use strict";
function noBack() {
window.history.forward()
}
var detail = document.getElementById("detail");
var offline_passphrase = document.getElementById("offline_passphrase");
var offline_passphrase2 = document.getElementById("offline_passphrase2");
var passchange_passphrase2 = document.getElementById("passchange_passphrase2");
var advanced_passphrase = document.getElementById("advanced_passphrase");
var modal = document.getElementById("modal");
var gears = document.getElementById("gears");
var wrapper = document.getElementById("wrapper");
var message = document.getElementById("message");
var clear_text = document.getElementById("clear_text");
var ppm = document.getElementById("ppm");
var ppm2 = document.getElementById("ppm2");
var ppm3 = document.getElementById("ppm3");
var ppp = document.getElementById("ppp");
var ppp2 = document.getElementById("ppp2");
var ppp3 = document.getElementById("ppp3");
var sjcl = sjcl;
var saveAs = saveAs;
var result = {};
var dict;
var documentUnload = false;
var raw = raw || "",
theme = theme || "dark",
language = language || (navigator.language.substring(0, 2) == "pl" ? "pl" : "en"),